Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
错误:Java:31找不到符号_Java_Generics_Types - Fatal编程技术网

错误:Java:31找不到符号

错误:Java:31找不到符号,java,generics,types,Java,Generics,Types,所以我在编译java程序时遇到了这个错误 ./QuickSort.java:31: cannot find Symbol Symbol : method compareTo(T) location: class java.lang.Object while(x<high && (arrValues[x].compareTo(arrValue))==1){ ^ 我这里有个人的比较法 p

所以我在编译java程序时遇到了这个错误

./QuickSort.java:31: cannot find Symbol
Symbol : method compareTo(T)
location: class java.lang.Object
      while(x<high && (arrValues[x].compareTo(arrValue))==1){
                                   ^
我这里有个人的比较法

    public int compareTo(Person a){ //1 signifies THIS is alphabetically first, 0 signifies equal, -1 signifies Person a is first
    if(this.lastName.compareTo(a.lastName) == 1){
        return 1;
    }
    else if(this.lastName.compareTo(a.lastName) == 0){
        if(this.firstName.compareTo(a.firstName) == 1){
            return 1;
        }
        else if(this.firstName.compareTo(a.firstName) == 0){
            return 0;
        }
        else{
            return -1;
        }
    }
    else{
        return -1;
    }

}
我不确定是什么导致了这个错误。
非常感谢你的帮助

您的值属于泛型
T
。由于该类型没有边界,最不常见的基本类型是Object,它没有
compareTo()
方法。正如@exception1在评论中提到的,您需要将
T
类型的下限设置为
Comparable
您的值属于泛型
T
。由于该类型没有边界,最不常见的基本类型是Object,它没有
compareTo()
方法。正如@exception1在评论中提到的,您需要将
T
类型的下限设置为
Comparable

您应该使用
作为泛型类型,因为您希望调用
compareTo
编辑:支持说.compareTo not.compareTp。很抱歉输入错误。您应该使用
作为泛型类型,因为您希望调用
compareTo
Edit:支持使用.compareTo not.compareTp。对不起,打错了。
    public int compareTo(Person a){ //1 signifies THIS is alphabetically first, 0 signifies equal, -1 signifies Person a is first
    if(this.lastName.compareTo(a.lastName) == 1){
        return 1;
    }
    else if(this.lastName.compareTo(a.lastName) == 0){
        if(this.firstName.compareTo(a.firstName) == 1){
            return 1;
        }
        else if(this.firstName.compareTo(a.firstName) == 0){
            return 0;
        }
        else{
            return -1;
        }
    }
    else{
        return -1;
    }

}