public class SortedLL<T extends Comparable<T>> implements SortedListInterface<T>  {

   public void add(T data) {

        int i;
        for(i=0; i<size;i++){
            if(data < getAt(i))
                break;
        }
   }
}


java - 如何解决“比较”的一般错误?-LMLPHP

我在这里问您一个问题,因为我不了解此错误。

数据类型为通用T,getAt(i)获得的值也为T

在定义SortedLL类时,我将其声明为<T extents Comparable <T>>

有谁知道在比较这两个值时为什么会出现错误以及是否有解决方案?

最佳答案

在Java中,没有运算符重载。 <运算符仅适用于数字基元,不适用于对象。

使用Comparable界面,可以调用compareTo方法来获得该行为:

if (data.compareTo(getAt(i)) < 0)

09-16 03:30