groovysh中的MissingPropertyException

时间:2011-08-20 07:51:31

标签: groovy groovyshell

我运行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",我可以访问它。但我想知道如何在示例中访问它。


更新

我想使用String s = "Hello"来定义变量,因为我想声明它的类型。例如,如果我写:

Date date = []

日期为java.util.Date。但如果我写:

date = []

这将是ArrayList

2 个答案:

答案 0 :(得分:11)

表达式s = "Hello"设置一个shell变量,表达式String s = "Hello"设置一个本地变量,该变量不会保存到shell的环境中。有关详细信息,请参阅Groovy Shell documentation。我不太确定您要实现的目标,但您可能更愿意使用Groovy Console来评估Groovy脚本。

答案 1 :(得分:0)

你可以写

date = [] as Date

确保日期确实具有日期类型。我有类似的问题,并使用

bin = [1, 26, 42 ,7] as byte[]
bin.encodeBase64()
相关问题