如何在Scala中键入cast Char/Int?

如何在Scala中键入cast Char/Int?,scala,casting,Scala,Casting,我很难让这个角色正常工作 编译器告诉我valueaNumber不是objectChar def runCastTest() { val aNumber = 97 val aChar = (Char)aNumber println(aChar) // Should be 'a' } 我做错了什么?因为在scala中所有东西都是一个对象,所以你应该使用aNumber.toChar你不能使用。使用(Char)aNumber尝试调用对象Char中的方法aNumber: sca

我很难让这个角色正常工作

编译器告诉我value
aNumber
不是object
Char

def runCastTest() {  
  val aNumber = 97  
  val aChar = (Char)aNumber

  println(aChar) // Should be 'a'  
}

我做错了什么?

因为在scala中所有东西都是一个对象,所以你应该使用
aNumber.toChar
你不能使用。使用
(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
                          ^
或者按照Nicolas的建议,在Int实例上调用
toChar

scala> aNumber.toChar
res1: Char = a

你的解释有误导性。有人可能会认为toChar是在Scala中的任何对象上定义的。
scala> aNumber.toChar
res1: Char = a