给了我代码,必须填写compareTo
部分。无论出于什么原因,即使我注释掉了我的compareTo
代码,当我调用它时,Java仍然会给我一个结果,这使我相信我一定在说错它。我对此不知所措。
import java.util.Arrays;
public class testString implements Comparable<testString> {
String tempStr;
public testString(String str) {
tempStr = str;
}
public String toString() {
return tempStr;
}
public int compareTo(testString Str2) {
String temp = Str2.toString();
int temp1 = temp.length();
if (tempStr.length() > temp1) {
return 1;
} else if (tempStr.length() < temp1) {
return -1;
} else {
return 0;
}
}
public static void main(String[] args) {
String [] Array1 = new String[]{"dog","giraffe","python","emu","elephant","cow"};
System.out.print(Array1[1].compareTo(Array1[0]));
}
}
最佳答案
在main方法中创建的数组包含String
对象,而不是testString
对象。如果要比较testString
类的实例,则创建这些对象的数组。
testString[] array1 = new testString[]{new testString("dog")...};
还要注意,类名应大写,变量以小写字母开头。
关于java - 我的程序似乎忽略了我编写的compareTo(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30293571/