Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/352.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 错误运算符_Java_Generics_Compiler Errors - Fatal编程技术网

Java 错误运算符

Java 错误运算符,java,generics,compiler-errors,Java,Generics,Compiler Errors,第11行有一个错误 operator < cannot be applied to java.lang.Object,java.lang.Object 我不太明白这一点,但我对Java中的泛型还是比较陌生的。请容忍我 public void sortbykey() { LinkedList temp = new LinkedList(); LinkedList third = new LinkedList(); temp=head; if(te

第11行有一个错误

operator < cannot be applied to java.lang.Object,java.lang.Object
我不太明白这一点,但我对Java中的泛型还是比较陌生的。请容忍我

public void sortbykey()
 {
     LinkedList temp = new LinkedList();
     LinkedList third = new LinkedList();
     temp=head;

     if(temp!=null)
     {
       while(temp.next!=null)
       {
               if (temp.key < temp.next.key)
               {
                 third.item = temp.key;
                 temp.key = temp.next.key;
                 temp.next.key = third.item;
               }
               else
                   temp = temp.next;
       }
     }
 }

简单地说,这个操作符可以应用于数值类型,如int、byte、double、float等,以及它们的装箱类,如Integer、byte等

它不能与泛型结合使用,因为编译器不知道操作数的确切类型。在使用泛型时,这些类型是在类型擦除发生后的运行时设置的

一个可能的解决方案是使key属性的类实现可比较的接口,然后您将能够将其与以下内容进行比较:

temp.key.compareTo(temp.next.key) > 0

简单地说,这个操作符可以应用于数值类型,如int、byte、double、float等,以及它们的装箱类,如Integer、byte等

它不能与泛型结合使用,因为编译器不知道操作数的确切类型。在使用泛型时,这些类型是在类型擦除发生后的运行时设置的

一个可能的解决方案是使key属性的类实现可比较的接口,然后您将能够将其与以下内容进行比较:

temp.key.compareTo(temp.next.key) > 0

要比较非数字类型,您需要在该类型上实现Compariable,并改用temp.key.comparietoTemp.next.key<0


如果使用LinkedList比较非数字类型,则需要在该类型上实现Comparable,并改用temp.key.compareTotemp.next.key<0


如果您使用的是LinkedList,我无法确定,因为您尚未发布节点和LinkedList的数据结构,但看起来您在“key”中存储的内容不是java原语,因此您无法使用“,我无法确定,因为您未发布节点和LinkedList的数据结构,但是看起来你在“key”中存储的东西不是java原语,所以你不能使用“你知道对象的不能与LinkedList temp中使用的LinkedList进行比较吗?”?这似乎是您自己的类型,因为标准的一个没有关键字段。无论如何,看起来这个字段是Object类型的,并将对象与进行比较。您是否理解不能将对象与LinkedList temp中使用的LinkedList进行比较?这似乎是您自己的类型,因为标准的一个没有关键字段。无论如何,看起来这个字段是Object类型的,并将对象与