正如http://docs.scala-lang.org/overviews/core/value-classes.html所承诺的,这有效:
class Wrapper(val self: Int) extends AnyVal {
def toHexString: String = java.lang.Integer.toHexString(self)
}
println(12.toHexString)
但这不会编译:
class Wrapper(val self: Int) extends AnyVal {
def whyNot: String = java.lang.Integer.toHexString(self)
}
println(12.whyNot)
为什么不?我唯一改变的是方法的名称!
这是错误消息:
error: value whyNot is not a member of Int
println(12.whyNot)
^
是的,我已经仔细检查了whyNot
.