当前位置:首页 > 开发 > 编程语言 > Scala > 正文

scala的Option类型

发表于: 2013-02-18   作者:criss   来源:转载   浏览:
摘要: 编译的错误总比运行时错误好。因为你能够马上处理他,而不是要等到代码运行的时候。 有的时候你获取不到结果,例如你搜索一个列表没有值,访问一个Map有没有相应的Key,在JAVA中你将收到一个NULL,如果你没有处理这个Null,将会抛出NullException。在Scala中,你可以用Option,这样你可以以一种比较优雅的方式避免NullException. Option是一种参数类型,例如

编译的错误总比运行时错误好。因为你能够马上处理他,而不是要等到代码运行的时候。

有的时候你获取不到结果,例如你搜索一个列表没有值,访问一个Map有没有相应的Key,在JAVA中你将收到一个NULL,如果你没有处理这个Null,将会抛出NullException。在Scala中,你可以用Option,这样你可以以一种比较优雅的方式避免NullException.

Option是一种参数类型,例如Option[String] 或者 Option[File]

Option有两种值Some(...)或者None

var s = Some("abc")          
var t: Option[String] = None 
def chooseFile(): Option[File] = { ... }
//比较啰嗦的方式
chooseFile() match {
      case Some(f) => 
      case None =>   
}
//比较土的方式
if (t isDefined) println(t)
if (t isEmpty) println("Nothing here!")
//比较简单的方式
val w = t.getOrElse("Nothing here!") 

 

 

scala的Option类型

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号