Подтвердить что ты не робот

Как вы набираете литье Char/Int в Scala?

У меня возникают проблемы с тем, чтобы этот актер работал.

Компилятор сообщает мне, что значение aNumber не является членом объекта Char

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

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

Что я делаю неправильно?

4b9b3361

Ответ 1

Вы не бросаете. С помощью (Char)aNumber вы пытаетесь вызвать метод aNumber в объекте Char:

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

или как Николя предложил вызов toChar в экземпляре Int:

scala> aNumber.toChar
res1: Char = a

Ответ 2

Поскольку все есть объект в scala, вы должны использовать aNumber.toChar.