2017-04-12 24 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