Приведение типов в Groovy

, у меня возникло два вопроса.

Я выполнил следующий код, чтобы найти значение ASCII $ :

def a = "\$"
def b = (int)a 
println b //prints 36

Что ж, я доволен ответом. Но когда я попытался сделать это в обратном порядке, я обнаружил, что чего-то не хватает:

def a = 36
String b = a
println b // getting output only 36 

Вопрос 1:

Итак, мой первый вопрос: почему он печатает 36 и почему нет $ ? Я ошибаюсь?

Что ж, если тот же самый первый блок кода переписать как:

    def a = "\$"
    def b = a as int
    println b

Если я запустил эту программу, я получаю такую ​​ошибку:

Caught: java.lang.NumberFormatException: For input string: "$"
    at T.run(T.groovy:2)

Хотя я пытаюсь сделать то же самое перед. Я получаю сообщение об ошибке.

Вопрос 2:

Итак, почему ключевое слово as здесь не работает, а def a = (int) b is не равно ] в def a = b как int ? Объясни мне.

Заранее спасибо.

5
задан Ant's 1 October 2011 в 09:48
поделиться