bounded-wildcard

    2熱度

    2回答

    我想創建一個通用列表,它使用.compareTo()類型的方法對輸入的項目進行排序。但是,我在第一行遇到了問題。由於類型必須是implements Comparable<T>,有沒有辦法強制執行?我想語法: public class GenList<T implements Comparable<T>>{ //Class body. } 將無法​​正常工作。有什麼建議麼?提前致謝!

    -1熱度

    4回答

    下面的代碼是一個抽象類的一部分,它旨在被子類化以管理特定類型的Shape。 (這是actualy特定類的倉庫,但現在這是不相關) protected ArrayList<? extends Shape> shapesOfSpecificType; public addShape(Shape shape){ getShapes; //make sure shapeOfSpecificT

    8熱度

    1回答

    Class<? extends Integer>會編譯得很好,但Integer是最終的類型,所以用它作爲上限是沒有意義的(沒有什麼會是extend它)。 如果您嘗試使用最後一種爲上限類型參數,你會得到一個編譯器警告: 類型參數T不應由最終整數類型是有界的。 最終類型不能被進一步延長 爲什麼會使用最後一種爲上限通配符是完全好的,但拋出一個類型參數的警告?爲什麼Java甚至允許通配符被最終的上層類型限

    2熱度

    2回答

    當在類型爲List使用通配符一些方法(例如ArrayList.set)不能使用,並返回類似的錯誤消息到 的方法集(INT,捕獲#3的?)是不適用的參數(int,字符串) 我已閱讀why這是這種情況,並想知道如何做到這一點。那麼編譯器如何知道某些方法是適用的(例如List.get(int)),但其他方法不適用?

    1熱度

    2回答

    我正在瀏覽Java教程,偶然發現了一些我不明白的東西。在收藏的蹤跡,他們談論Wrapper implementations,在那裏我看到了兩個靜態工廠方法 - public static <T> Collection<T> synchronizedCollection(Collection<T> c); public static <T> Collection<T> unmodifiableC

    2熱度

    1回答

    class Animal{} class Dog extends Animal{} class Cat extends Animal{} public class Mixer<A extends Animal>{ public <C extends Cat> Mixer<? super Dog> useMe(A a, C c){ //return new Mixer<O

    2熱度

    5回答

    import java.util.List; import java.util.ArrayList; interface Canine {} class Dog implements Canine {} public class Collie extends Dog { public static void main(String[] args){ List<Dog

    0熱度

    1回答

    class Aliphatic<F> extends Organic<F>{} class Hexane<G> extends Aliphatic<G>{} public class Organic<E>{ void react(E e){} static void main(String[] args){ Organic<? extends Organic>

    1熱度

    3回答

    爲什麼不是被添加一個新的對象到列表中,如果這種類型應該能夠添加任何超類型的Apple? import java.util.List; import java.util.ArrayList; class Apple{} public class Macintosh extends Apple { public static void main(String[] munch){

    4熱度

    2回答

    Class<? super T> getSuperclass() Class類中的getSuperclass()返回類型爲<的類? super T >,這意味着超類的類型參數可以是T或其任何超類,現在SuperClass的類類型參數是如何與子類相同的類型? 例如 Class<Manage>.class.getSuperclass() 不返回 Class<Manager> 在所有..li