Java 使用 compareTo 比较两个对象

Java Use compareTo to Compare Two Objects

我要编写一个方法来实现 compareTo 方法来比较数组中的对象以确定哪个最大。这是我的代码:

public static Object max(Object[] array) {
    for (int i = 0; i < array.length; i++) {
        Object lol = (array[0].compareTo(array[i]));     
    }
    return; // what should be returned?
}

任何人都可以向我解释如何实际使用 compareTo,以及它应该做什么 return?

您将需要这样的东西。

Object biggestObject = array[0];
    for (Object obj: array){
        if (biggestObject.compareTo(obj) == 1){
            biggestObject = obj;
        }
    }
 return biggestObject;

如果您使用的是自定义对象,则需要重写 compareTo 方法,例如如果对象是一个人并且我们正在比较 Pen...feet 大小,那么我们希望将 compareTo 设置为比较脚的尺寸,比较的对象较大时返回 1,相同返回 0,较小返回 -1。

@Override
public int compareTo(Object obj){
    if (this.feetSize < obj.getFeetSize()){
        return 1;
    etc, etc....