Как вы печатаете бросок Char / Int в Scala? - PullRequest
27 голосов
/ 18 ноября 2010

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

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

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

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

Что я делаю не так?

Ответы [ 2 ]

39 голосов
/ 18 ноября 2010

Вы не читаете. С (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
19 голосов
/ 18 ноября 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...