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包裝類中進行了實現
