你好,游客 登录
背景:
阅读新闻

Scala面试题:Option类型的定义和使用场景?

[日期:2018-09-15] 来源:jianshu  作者: [字体: ]
  • 在Java中,null是一个关键字,不是一个对象,当开发者希望返回一个空对象时,却返回了一个关键字,为了解决这个问题,Scala建议开发者返回值是空值时,使用Option类型,在Scala中null是Null的唯一对象,会引起异常,Option则可以避免。Option有两个子类型,Some和None(空值)

代码示例:

val person: Person = getPersonByIdOnDatabaseUnsafe(id = 4) // 如果没有id=4的person时,返回null对象
println(s"This person age is ${person.age}") //如果是null,抛出异常

val personOpt: Option[Person] = 
getPersonByIdOnDatabaseSafe(id = 4) // 如果没有id=4的person时,返回None类型

personOpt match {
  case Some(p) => println(s"This person age is ${p.age}")
  case None => println("There is no person with that id")
}


作者:IIGEOywq
链接:https://www.jianshu.com/p/ace2bb24dc11
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
收藏 推荐 打印 | 阅读: