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

时间:2018-09-29 16:54:18

标签: java comparable

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;       
        }                    
   }
}

enter image description here

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

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

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

有没有人知道为什么在比较这两个值时会出错,并且有解决方案?

1 个答案:

答案 0 :(得分:3)

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

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

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