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;
}
}
}
我在这里问您一个问题,因为我不了解此错误。
数据类型为通用T,
getAt(i)
获得的值也为T
。在定义
SortedLL
类时,我将其声明为<T extents Comparable <T>>
。有谁知道在比较这两个值时为什么会出现错误以及是否有解决方案?
最佳答案
在Java中,没有运算符重载。 <
运算符仅适用于数字基元,不适用于对象。
使用Comparable
界面,可以调用compareTo
方法来获得该行为:
if (data.compareTo(getAt(i)) < 0)