欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

java泛型同時限定上限和下限

鄭雨菲1年前6瀏覽0評論

泛型是Java中非常重要的一個特性,它可以讓我們在編寫代碼時更加靈活、簡潔。其中,限定泛型上限和下限也是非常常用的技巧。下面我們來詳細了解一下這個技術。

首先,我們來看一下什么是泛型上限和下限。泛型上限指的是類型必須是某個類的子類(包括該類本身);泛型下限指的是類型必須是某個類的父類(包括該類本身)。在實際使用中,我們通常使用 extends 關鍵字來限定泛型上限,使用 super 關鍵字來限定泛型下限。

下面是一個使用泛型上限和下限的示例代碼:

class Animal {}
class Dog extends Animal {}
class Cat extends Animal {}
public class Test{
ListwildList1 = new ArrayList();
ListwildList2 = new ArrayList();
public static void main(String[] args) {
Testtest = new Test<>();
test.wildList1.add(new Animal());  //編譯錯誤
test.wildList1.add(new Dog());     //編譯通過
test.wildList1.add(new Cat());     //編譯錯誤
test.wildList2.add(new Animal());  //編譯錯誤
test.wildList2.add(new Dog());     //編譯通過
test.wildList2.add(new Cat());     //編譯錯誤       
}
}

在上面的代碼中,我們定義了一個泛型類 Test,并在其中使用了泛型上限和下限。具體來說,我們分別使用“? extends Animal”和“? super Dog”來定義了兩個 List 類型的變量。

在 main 函數中,我們通過實例化 Test 類并調用它的兩個變量,來演示了泛型上限和下限的限制。具體來說,在 wildList1 中,我們只能添加 Animal 及其子類(即 Dog 類),而不能添加 Animal 的父類(即 Cat 類)。在 wildList2 中,我們則只能添加 Dog 及其子類(即 Animal 類),而不能添加 Dog 的父類(即 Object 類)。

總之,使用泛型上限和下限可以讓我們在編寫代碼時更加精準地約束類型,從而提高代碼的可讀性和安全性。因此,我們在實際開發中應該充分發揮它的優勢,加強對它的掌握和應用。