2017-04-12 66 views
1

我在那里有代码行这样的aplication工作:

Object localObject4 = arrayOfCallSite[6].callGetProperty($get$$class$groovy$lang$Closure());ScriptBytecodeAdapter.setGroovyObjectProperty(localObject4, $get$$class$groovy$json$JsonDelegate(), clon 

什么是“$”的意思?

下面是实施例的链接: http://www.javatiger.com/jar.php/1320000/groovy-all-1.8.0

+0

Java不会将'$'当作任何特殊字符。但是当你想要打印类名或者在Class.forName(“full.name.of.SomeClass”)中使用类名时,它被用来分隔'OuterClass $ NestedClass'。但除此之外,它没有特别的含义,因此在命名方法或变量时可以像使用其他字符一样使用它。你的问题应该是“groovy中的$代表什么?”。 – Pshemo

+1

这看起来像用JD反编译器反编译的类...没有人会写这样的代码加上我不认为这是可编译的...反编译器与Groovy字节码斗争 –

+0

是的,是一个反编译的类,我应该怎样做得到正确的代码?有机会吗? @tim_yates让你的评论像答案,所以我可以接受它(( –

回答

0

$是Java的标识符的有效部分。这是允许的,例如:

int $ = 2; 
+2

问题'''是什么意思?',我想我回答了它。如果你的意思更像'为什么'''这些Groovy标识符'''那么你应该真的学会提出体面的问题。 – john16384