Scala Option

几个scala的类型:Option Some None,Any AnyRef AnyVal Null,Noting,Nil

混江龙づ霸主 提交于 2019-12-05 22:17:43
顶级类:Any Any的子类:AnyRef、AnyVal AnyRef的子类:Null AnyVal的子类:java的值类型Byte | Short Int Long | Float Double | Char String | Boolean | Unit Null可以赋值给所有的引用类型(AnyRef),不能赋值给值类型,这个java的语义是相同的,null是是是Null的唯一对象。 Unit:AnyVal的子类,无值,和其他语言的void类似,用于无返回值 Any AnyRef(Null null Nothing) AnyVal(Unit) 抽象 非抽象 抽象 抽象 抽象 Option Option抽象类,继承两个特征extends Product with Serializable Option的子类:Some、 None: Option [ Nothing ] scala推荐在可能返回空的方法使用Option[X]作为返回类型。如果有值就返回Some[x](Some也是Option的子类),否则返回None def get(key: A): Option[B] = { if (contains(key)) Some(getValue(key)) else None } 获得Option后,可以使用get获得包含的值