Недостающее свойство Исключение в groovysh

Я запустил groovysh и набрал следующий код:

groovy:000> String s = "Hello"
===> Hello
groovy:000> s
ERROR groovy.lang.MissingPropertyException:
No such property: s for class: groovysh_evaluate
        at groovysh_evaluate.run (groovysh_evaluate:2)
        ...
groovy:000>

Как получить доступ к s здесь?

(Если я изменяю String s = "Hello" на s = "Hello", я могу получить к нему доступ, но я хочу знать, как получить к нему доступ в примере)


UPDATE

Я хочу использовать String s = "Hello" для определения переменной, потому что я хочу объявить ее тип. Например, если я пишу:

Date date = []

Дата будет java.util.Date. Но если я пишу:

date = []

Это будет ArrayList.

Ответ 1

Выражение s = "Hello" задает переменную оболочки, выражение String s = "Hello" устанавливает локальную переменную, которая не сохраняется в среде оболочки. Дополнительную информацию см. В Groovy Документация по оболочке. Я не совсем уверен, чего вы пытаетесь достичь, но вы скорее захотите пойти с Groovy Консоль для оценки сценариев Groovy.

Ответ 3

Вы можете написать

date = [] as Date

чтобы убедиться, что дата действительно имеет тип Date. У меня была аналогичная проблема и я использовал

bin = [1, 26, 42 ,7] as byte[]
bin.encodeBase64()