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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM