, у меня возникло два вопроса.
Я выполнил следующий код, чтобы найти значение ASCII $
:
def a = "\$"
def b = (int)a
println b //prints 36
Что ж, я доволен ответом. Но когда я попытался сделать это в обратном порядке, я обнаружил, что чего-то не хватает:
def a = 36
String b = a
println b // getting output only 36
Итак, мой первый вопрос: почему он печатает 36
и почему нет $
? Я ошибаюсь?
Что ж, если тот же самый первый блок кода переписать как:
def a = "\$"
def b = a as int
println b
Если я запустил эту программу, я получаю такую ошибку:
Caught: java.lang.NumberFormatException: For input string: "$"
at T.run(T.groovy:2)
Хотя я пытаюсь сделать то же самое перед. Я получаю сообщение об ошибке.
Итак, почему ключевое слово as
здесь не работает, а def a = (int) b
is не равно ] в def a = b как int
? Объясни мне.
Заранее спасибо.