scala Option 小结
所属分类 scala
浏览量 664
Option Some None 避免使用null
Option 通常作为Scala集合类型 List Map 等操作的返回值
两个子类 Some和None
Option[T] 是一个容器,就像数组 或 List
没有或一个元素
使用 for 或 match
Option 的常用方法
get 返回容器里的值 , None 调用 get 抛异常 java.util.NoSuchElementException
isEmpty 没有值返回true,否则返回false
getOrElse 没有值则返回默认值
foreach 有值则执行 否则忽略
map 有值则执行转换 否则忽略
var map = Map("a" -> 1, "b"-> 2)
scala.collection.immutable.Map[String,Int] = Map(a -> 1, b -> 2)
map.get("b")
Option[Int] = Some(2)
map.get("c")
Option[Int] = None
map.get("c").get
java.util.NoSuchElementException: None.get
map.get("c").getOrElse(null)
Any = null
Option(null).orNull
Null = null
Option("hello").map(_.length).map("length: " + _).foreach(println)
Option("hello").map("length: " + _.length).foreach(println)
val x : Option[String] = Option(null)
x.map(_.length).map("length: " + _).foreach(println)
val x : Option[String] = None
x.map(_.length).map("length: " + _).foreach(println)
def printLength(s:Option[String]){
for(item <- s){
println(item.length)
}
}
printLength(None)
printLength(Option("abc"))
printLength(Option(null))
def show(x: Option[String]) = x match {
case Some(s) => s
case None => "?"
}
scala Option(null) 和 Some(null) 的区别
scala Option Some None
上一篇
下一篇
java 数据库访问 持久层 框架
时序数据库技术点
scala Option(null) 和 Some(null) 的区别
jdbc获取自增主键ID
pf4j简介及例子运行说明
pf4j 例子应用 类加载机制验证