Java对象:if语句中的比较值,运算符重载

Rya*_*anS 3 java return object

是否可以定义用于自定义对象的if语句比较的值?

我有:

public class element实现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
}
Run Code Online (Sandbox Code Playgroud)

}

我想使用if语句如下:

if(element1> element2)..

而不是传统的:

if(element1.value> element2.value)..

我无法通过比较器,toString()等来实现这一点

rge*_*man 6

>根据JLS 15.20.1,您不能对运算符使用对象引用; Java不支持运算符重载.但是你使用的是正确的轨道Comparator.

if (comparator.compare(element1, element2) > 0)  // if (element1 > element2)
Run Code Online (Sandbox Code Playgroud)

如果你的班级也是可能的Comparable<Element>,即与其他元素相当.

if (element1.compareTo(element2) > 0)  // if (element1 > element2)
Run Code Online (Sandbox Code Playgroud)