我无法理解Option[T]Scala中的课程要点.我的意思是,我不能看到任何advanages None了null.
例如,考虑代码:
object Main{
class Person(name: String, var age: int){
def display = println(name+" "+age)
}
def getPerson1: Person = {
// returns a Person instance or null
}
def getPerson2: Option[Person] = {
// returns either Some[Person] or None
}
def main(argv: Array[String]): Unit = {
val p = getPerson1
if (p!=null) p.display
getPerson2 match{
case Some(person) => person.display
case None => /* Do nothing */
}
}
}
Run Code Online (Sandbox Code Playgroud)
现在假设,该方法getPerson1返回null …