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....
我要编写一个方法来实现 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....