你如何在Scala中输入Cast / Int?

时间:2010-11-18 15:15:03

标签: scala casting

我遇到了让这个演员工作的问题。

编译器告诉我,值aNumber不是对象Char

的成员
def runCastTest() {  
  val aNumber = 97  
  val aChar = (Char)aNumber

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

我做错了什么?

2 个答案:

答案 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