2021-10-04
22:53:45
在写泛型链表类的方法实现的时候,需要对泛型进行大小比较,如何实现?
public K minVal() { if (this.head == null){ return null; } Node<K> node = this.head; K min = node.val; do{ if(min.compareTo(node.val)>0) { min = node.val; } node = node.next; }while(node != null); return min
}
此外,必须在泛型声明语句中,让泛型继承Comparable接口!是继承接口,而不是实现接口!关键字为extends!
class ListChaineeSimple<K extends Comparable> implements IEnsembleDynamique<K>, ListeChainee<K>{...}
新建Integer数组,进行链表初始化,调用minVal方法测试。IDEA没有报错,编译通过,结果正确!
原理:Comparable内部比较器接口的compareTo方法在Integer包装类中进行了实现