我正在創建一個介面和一個鏈表的實作,就像在 Java 1.8 中一樣:
public interface MyList<E extends Comparable<E>> {
.....
}
public class MyListImpl<E> implements MyList<E extends Comparable<E>>{
......
}
該介面沒有編譯器問題,但是在我遇到的地方MyListImpl給出了錯誤。我不確定為什么會發生此錯誤。Unexpected BoundE extends Comparable<E>>
uj5u.com熱心網友回復:
界限總是在泛型型別的宣告上。那是類名末尾的那個。implements 子句中的一個是使用已經宣告的型別。所以:public class MyListImpl<E extends Comparable<E>> implements MyList<E>。
如果你想讓它更好一點,請使用<E extends Comparable<? super E>>. 看起來一樣,但不是;只是Comparable<E>你將無法支持像java.sql.Timestamp擴展java.util.Date哪些實作這樣的類Comparable<Date>。換句話說:Timestampis not Comparable<Timestamp>but Comparable<Date>, usingComparable<? super E>將允許您使用它。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/481914.html
上一篇:有沒有辦法給文本背景顏色
