scala的Option类型

本文探讨了Scala中Option类型的使用方式及其如何帮助开发者避免NullPointerException。通过对比Java中的null处理方式,文章介绍了Option的两种状态Some与None,并展示了如何在实际编程中优雅地使用这些特性。

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

有的时候你获取不到结果,例如你搜索一个列表没有值,访问一个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!") 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值