scala Option 里的 orNull orElse getOrElse 區別和使用


Scala Option

Scala Option類型用來表示一個值是可選的(有值或無值)

Option[T] 是一個類型為 T 的可選值的容器:

  • 如果值存在, Option[T] 就是一個 Some[T] 
  • 如果不存在, Option[T] 就是對象 None

 

Option.orNull

參數:沒有(當屬性用)

返回:如果Option不為None返回Some的值否則返回null

例一:返回Some的值

scala> val v = Some("Hello Option")
v: Some[String] = Some(Hello Option)

scala> v.orNull
res38: String = Hello Option

例二:返回null

scala> val v = None
v: None.type = None

scala> v.orNull
res39: Null = null

Option.getOrElse(value)

參數:值

返回:如果Option不為None返回Some的值否則返回參數的值

例三:返回Some的值

scala> val v = Some("Hello Option")
v: Some[String] = Some(Hello Option)

scala> v.getOrElse("New Value")
res46: String = Hello Option

例四:返回參數的值

scala> val v = None
v: None.type = None

scala> v.getOrElse("New Value")
res47: String = New Value

 

Option.orElse(Some(value))

返回Option里的Some或從參數傳遞進去的Some

參數:Some

返回:如果Option不為None返回Some否則返回參數的Some

例五:返回option的Some

scala> val v = Some("Hello Option")
v: Some[String] = Some(Hello Option)

scala> v.orElse(null)
res43: Option[String] = Some(Hello Option)

例六:返回參數的Some

scala> val v = None
v: None.type = None

scala> v.orElse(Some("New Value"))
res44: Option[String] = Some(New Value)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM