【发布时间】:2013-03-07 09:29:32
【问题描述】:
是否可以定义用于自定义对象的 if 语句比较的值?
我有:
公共类元素实现 Comparable {
public int value;
public int[] sequence;
public int length;
public element(){}
public element(int val){
this.value = val;
}
@Override
public int compareTo(Object o) {
return
}
}
我想用if语句如下:
如果(元素1>元素2)..
而不是传统的:
如果 (element1.value > element2.value) ..
我无法使用比较器、toString() 等来完成此操作
【问题讨论】:
-
element1和element2是什么?如果它们是element类型的对象,那么如果你正确地实现了compareTo(),你就可以使用element1.compareTo(element2)。 -
您应该尝试更具体。您的要求不明确。
-
Java 中没有运算符重载。
<、>只能用于数字(byte、short、char、int、long、float、double)。 -
Java 不支持运算符重载。您可以调用 element1.compareTo(element2) 进行比较,并确保 compareTo 根据需要返回 -1,0 和 1。