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