Scala 学习笔记之集合(7) Option

object CollectionDemo8 {
  def main(args: Array[String]): Unit = {
    //Option集合的使用,可以用来安全的判断null或非null,放心使用,不会抛出空指针异常
    val s: String = "abcd"
    val sp = Option(s)
    println(sp.isDefined)
    println(sp.isEmpty)
    if (sp == Some("abcd")) { println("Has value") }
    if (Option(null) == None) { println("Has no value") }
    println(List(1, 2, 3, 4, 5).headOption)
    println(List(1, 2, 3, 4, 5).find { x => x == 3 })
    //Option集合提取值
    println(Option("abc").fold("bcd")(x => x))
    println(Option(null).fold("bcd")(x => x))
    println(Option("abc").getOrElse("value"))
    println(Option(null).getOrElse("value"))
    println(
    Option("abc") match {
      case Some(x) => x
      case None => -1
    })

  }
}

运行结果:

true
false
Has value
Has no value
Some(1)
Some(3)
abc
bcd
abc
value
abc

时间: 2024-10-07 22:06:51

Scala 学习笔记之集合(7) Option的相关文章

Scala 学习笔记之集合(4)

集合的模式匹配操作: object CollectionDemo5 { def main(args: Array[String]): Unit = { //集合模式匹配1 val ls = List(1, 2, 3, 4, 5) println( ls match { case List(1, 2, 3) => "List(1,2,3)" case List(1, 2, 3, 4) => "List(1,2,3,4)" case List(1, 2, 3

Scala 学习笔记之集合(8) Try和Future

import util._ import concurrent.ExecutionContext.Implicits.global import concurrent.Future import concurrent.duration._ object CollectionDemo9 { def main(args: Array[String]): Unit = { //Try捕捉异常 println(Try(10 / 0)) println(Try(10).flatMap { x => Try

Scala 学习笔记之集合(9) 集合常用操作汇总

object CollectionDemo10 { def main(args: Array[String]): Unit = { var ls = List[Int](1, 2, 3) //向后增加元素 ls = ls :+ 4 //向前增加元素 ls = 0 +: ls //基本等价 ls = -1 :: ls //向前增加集合 ls = List(-2) ++: ls //基本等价 ls = List(-2) ::: ls //向后增加集合 ls = ls ++ List(5) print

Scala 学习笔记之集合(1)

1 package com.citi.scala 2 3 object CollectionDemo { 4 def main(args: Array[String]): Unit = { 5 6 /** 7 * List 8 */ 9 println("--------------------------List-------------------------") 10 val numbers = List[Int](11, 22, 33, 44, 55) 11 val numbe

Scala 学习笔记之集合(2)

class StudentTT extends StudentT{ def sayBye(name: String, age: Int)(address: String){ println("Hello, " + name + ":" + age + ":" + address) } } object CollectionDemo3 { def main(args: Array[String]): Unit = { val s = new Stu

Scala学习笔记及与Java不同之处总结-从Java开发者角度

Scala与Java具有很多相似之处,但又有很多不同.这里主要从一个Java开发者的角度,总结在使用Scala的过程中所面临的一些思维转变. 这里仅仅是总结了部分两种语言在开发过程中的不同,以后会陆续更新一些切换后在开发过程中值得注意的地方.以下列举了部分,但令人印象深刻的Scala语言的不同之处,具体的代码演示样例及具体阐述见下文. ? Scala中可直接调用Java代码,与Java无缝连接. 语句能够不用";"结束.且推荐不适用";". 变量声明时以var或va

Guava学习笔记: guava集合之Multiset

Guava学习笔记: guava集合之Multiset Multiset是什么? Multiset看似是一个Set,但是实质上它不是一个Set,它没有继承Set接口,它继承的是Collection<E>接口,你可以向Multiset中添加重复的元素,Multiset会对添加的元素做一个计数. 它本质上是一个Set加一个元素计数器. Multiset使用示例: package cn.outofmemory.guava.collection; import com.google.common.ba

软件测试之loadrunner学习笔记-02集合点

loadrunner学习笔记-02集合点 集合点函数可以帮助我们生成有效可控的并发操作.虽然在Controller中多用户负载的Vuser是一起开始运行脚本的,但是由于计算机的串行处理机制,脚本的运行随着时间的推移,并不能完全达到同步.这个时候需要手工的方式让用户在同一时间点上进行操作来测试系统并发处理的能力,而集合点函数就能实现这个功能. 可通过将集合点插入到 Vuser 脚本来指定会合位置.在 Vuser 执行脚本并遇到集合点时,脚本将暂停执行,Vuser 将等待 Controller 或控

Java集合框架学习笔记之集合与Collection API

一.CollectionAPI 集合是一系列对象的聚集(Collection).集合在程序设计中是一种重要的数据接口.Java中提供了有关集合的类库称为CollectionAPI. 集合实际上是用一个对象代表一组对象,在集合中的每个对象称为一个元素.在集合中的各个元素的具体类型可以不同,但一般说来,它们都是由相同的类派生出来的(而这一点并不难做到,因为Java中的所有类都是Object的子类).在从集合中检索出各个元素是,常常要根据其具体类型不同而进行相应的强制类型转换. Collection