2
我在這裏錯過了什麼? http://www.ibm.com/developerworks/java/library/j-pg10255/index.htmlGroovy中的流暢操作符
在參照清單1:爲什麼
lamp1 <=> lamp2
等於一個正數,但
"black"<=>"blue"
是負數?
我在這裏錯過了什麼? http://www.ibm.com/developerworks/java/library/j-pg10255/index.htmlGroovy中的流暢操作符
在參照清單1:爲什麼
lamp1 <=> lamp2
等於一個正數,但
"black"<=>"blue"
是負數?
這是一個不好的例子。在LavaLamp.compareTo
方法中,正在使用右側的this
和左側的另一個對象構建比較。通常的慣例是相反的。
所以當你做lamp1 <=> lamp2
,你實際上在做lamp2.baseColor <=> lamp1.baseColor
。
好抓。我覺得這不是一個具有挑戰性的問題,但我想我看了太久。我想知道爲什麼作者以傳統的方式定義了equals方法,但沒有使用compareTo。謝謝。 – KevinO