Java泛型比较大小

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包装类中进行了实现

 

posted @ 2021-10-05 05:14  Houze  阅读(1157)  评论(0)    收藏  举报