10

我运行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.

4

3 回答 3

11

该表达式s = "Hello"设置了一个shell变量,该表达式String s = "Hello"设置了一个不会保存到shell环境中的局部变量。有关更多信息,请参阅Groovy Shell 文档。我不太确定您想要实现什么,但您可能更愿意使用Groovy 控制台来评估 Groovy 脚本。

于 2011-08-20T23:42:34.073 回答
1

只需将其设置为interpreterMode

groovy:000> :set interpreterMode

你可以直接使用

Date date = []

参考:http ://www.groovy-lang.org/groovysh.html#GroovyShell-InterpreterMode

于 2015-12-21T12:30:15.210 回答
0

你可以写

date = [] as Date

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

bin = [1, 26, 42 ,7] as byte[]
bin.encodeBase64()
于 2013-06-12T08:57:41.440 回答