我想不出该类型的任何情况AnyVal
会很有用,特别是添加了Numeric
用于抽象的类型Int
, Long
等等。是否有任何实际用例AnyVal
,或者它只是一个使类型层次结构变得更漂亮的工件?
只是为了澄清,我知道什么AnyVal
is,我只是想不出在 Scala 中我真正需要它的任何时候。我什么时候需要一种包含以下内容的类型Int
, Character
and Double
?看起来它只是为了使类型层次结构更漂亮(即它看起来更好AnyVal
and AnyRef
作为兄弟姐妹而不是拥有Int
, Character
等直接继承自Any
).
正如 om-nom-nom 已经说过的,AnyVal
是 scala 中所有原语的公共超类型。然而,在 scala 2.10 中,将有一个新功能,称为value classes
。值类是可以内联的类,例如,您可以减少扩展我的库模式的开销,因为不会有包含这些方法的包装类的实例,而是静态调用它们。您可以在中阅读有关值类的所有内容SIP-15 https://docs.google.com/document/d/10TQKgMiJTbVtkdRG53wsLYwWM2MkhtmdV25-NZvLLMA/edit?hl=en_US.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)