【发布时间】:2015-04-20 07:08:28
【问题描述】:
是否有支持对自定义对象进行比较操作的插件?
我想用这个:
class MyTemperatureObject implements Comparable<MyTemperatureObject> {
...
@Override
public int compareTo(MyTemperatureObject object) {
return getValue().compareTo(object.getValue());
}
}
MyTemperatureObject a;
MyTemperatureObject b;
if (a < b){
...
}
这给出了编译错误:
Operator '<' cannot be applied to MyTemperatureObject
但我认为编译器可以使用 Comparable 接口来评估这个。或者是否有理由认为这样做是不可能或不明智的。
我知道我可以使用 compareTo 函数
a.compareTo(b) < 0
但我认为这更易读/易于理解
a < b
【问题讨论】:
-
I think this is better readable/understandable a<b,在 Java 中不支持MyTemperatureObject。 -
以后如果你对使用
equals方法而不是==有另一个疑问,因为它更易读/易懂,那么请参考这个answer。 -
你不能在java中重载运算符!