Java使用compareTo来比较两个对象

时间:2015-11-09 20:35:28

标签: java object compareto

我要写一个方法,它将实现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,以及它应该返回什么内容?

1 个答案:

答案 0 :(得分:1)

你需要这样的东西。

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

如果你正在使用自定义对象,你将需要覆盖compareTo方法,所以如果对象是一个人并且我们正在比较Pen ...脚尺寸,那么我们想要设置compareTo来比较脚size,当被比较的对象更大时返回1,如果它相同则返回0,如果它更小则返回-1。

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