None是一个object,是Option的子类型,定义如下
[java] view plain copy
print?
case object None extends Option[Nothing] {
def isEmpty = true
def get = throw new NoSuchElementException("None.get")
}
scala推荐在可能返回空的方法使用Option[X]作为返回类型。如果有值就返回Some[x](Some也是Option的子类),否则返回None,例如
[java] view plain copy
print?
def get(key: A): Option[B] = {
if (contains(key))
Some(getValue(key))
else
None
}
获得Option后,可以使用get获得包含的值,或者使用getOrElse获得默认值如果isEmpty为true。
Null是所有AnyRef的子类,在scala的类型系统中,AnyRef是Any的子类,同时Any子类的还有AnyVal。对应java值类型的所有类型都是AnyVal的子类。所以Nul
[java] view plain copy
print?
case object None extends Option[Nothing] {
def isEmpty = true
def get = throw new NoSuchElementException("None.get")
}
scala推荐在可能返回空的方法使用Option[X]作为返回类型。如果有值就返回Some[x](Some也是Option的子类),否则返回None,例如
[java] view plain copy
print?
def get(key: A): Option[B] = {
if (contains(key))
Some(getValue(key))
else
None
}
获得Option后,可以使用get获得包含的值,或者使用getOrElse获得默认值如果isEmpty为true。
Null是所有AnyRef的子类,在scala的类型系统中,AnyRef是Any的子类,同时Any子类的还有AnyVal。对应java值类型的所有类型都是AnyVal的子类。所以Nul