我有一個基本的常規問題。Groovy對象ID
當我打印一個Groovy對象,它看起來像這樣:
groovy:000> f = new Foo()
===> [email protected]
怎樣才能獲得60410cd
對象ID部分,因爲一個Groovy對象?
我有一個基本的常規問題。Groovy對象ID
當我打印一個Groovy對象,它看起來像這樣:
groovy:000> f = new Foo()
===> [email protected]
怎樣才能獲得60410cd
對象ID部分,因爲一個Groovy對象?
[email protected]
是toString()
方法,它是利用由JavaDoc規定的java.lang.Object
定義的默認方法,默認的結果toString()
將返回:
getClass().getName() + '@' + Integer.toHexString(hashCode())
其中,你可以用hashCode()
方法的值查看結果。默認hasCode()
回報:
「爲不同的對象不同的整數(這一般是通過將該對象的內部地址轉換成一個整數來實現的,但不是由的JavaTM編程語言不需要這種實現技巧。)。」
所以,你看到的是默認的調用都Object.toString()
和Object.hashCode()
的結果,如果你想改變輸出,你應該覆蓋默認toString()
方法是這樣的:
String toString(){
"In Foo!"
}
Foo f = new Foo()
Integer.toHexString(System.identityHashCode(f))
你的用例是什麼? – Rao