我遇到了让这个演员工作的问题。
编译器告诉我,值aNumber
不是对象Char
def runCastTest() {
val aNumber = 97
val aChar = (Char)aNumber
println(aChar) // Should be 'a'
}
我做错了什么?
答案 0 :(得分:39)
你不是在施法。使用(Char)aNumber
,您尝试在对象Char:
aNumber
scala> val aNumber = 97
aNumber: Int = 97
scala> val aChar = (Char)aNumber
<console>:5: error: value aNumber is not a member of object Char
val aChar = (Char)aNumber
^
你可以做到
scala> aNumber.asInstanceOf[Char]
res0: Char = a
或者Nicolas建议在Int实例上调用toChar
:
scala> aNumber.toChar
res1: Char = a
答案 1 :(得分:19)
由于scala中的所有内容都是对象,因此您应该使用aNumber.toChar
。