option
Option(选项)类型用来表示一个值是可选的(有值或无值)。¶
如果存在, Option[T] 就是 Some[T] ,如果不存在, Option[T] 就是对象 None
myMap 一个是一个 Key -Value 的类型,但他的 get() 返回的是 Option 的类别
def isEmpty: Boolean 检测可选类型值是否为 None,是的话返回 true,否则返回 false
def isDefined: Boolean 如果可选值是 Some 的实例返回 true,否则返回 false。
1.
object Test {
def main(args: Array[String]) {
val sites = Map("runoob" -> "www.runoob.com", "google" -> "www.google.com")
println("runoob:"+sites.get("runoob"))
println("baidu:"+sites.get("baidu"))
}}
Test.main(Array())
runoob:Some(www.runoob.com)
baidu:None
defined object Test
2. 模式匹配
object Test {
def main(args: Array[String]) {
val sites = Map("runoob" -> "www.runoob.com", "google" -> "www.google.com")
println("runoob:"+show(sites.get("runoob")))
println("baidu:"+show(sites.get("baidu")))
def show(x:Option[String])=x match{
case Some(s)=>s
case None =>"?"
}
}}
Test.main(Array())
runoob:www.runoob.com
baidu:?
defined object Test
3. getOrElse() 方法来获取元组中存在的元素或者使用其默认的值
object Test {
def main(args: Array[String]) {
val a:Option[Int]=Some(5)
val b:Option[Int]=None
println("a:"+a.getOrElse(0))
println("b:"+b.getOrElse(10))
}}
Test.main(Array())
a:5
b:10
defined object Test
4. isEmpty() 方法
object Test {
def main(args: Array[String]) {
val a:Option[Int] = Some(5)
val b:Option[Int] = None
println("a.isEmpty: " + a.isEmpty )
println("b.isEmpty: " + b.isEmpty )
}
}
Test.main(Array())
a.isEmpty: false
b.isEmpty: true
defined object Test
posted on 2019-10-10 18:08 happygril3 阅读(784) 评论(0) 收藏 举报
浙公网安备 33010602011771号