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