JAVA Day26

JAVA Day26

类型通配符

package generic;

import java.util.ArrayList;
import java.util.List;

public class Demo02 {
    public static void main(String[] args) {
        ArrayList<String> stringArrayList =new ArrayList<>();
        ArrayList<Integer> integerArrayList =new ArrayList<>();
        stringArrayList.add("a");
        stringArrayList.add("b");
        stringArrayList.add("c");
        integerArrayList.add(1);
        integerArrayList.add(2);
        integerArrayList.add(3);
        showList(stringArrayList);
        showList(integerArrayList);
    }
    public static void showList(List<?> list){
        for(Object o : list)
            System.out.print(o+"\t");
    }
}

package generic;

import java.util.ArrayList;
import java.util.List;

public class Demo02 {
    public static void main(String[] args) {
        ArrayList<Animal> animals = new ArrayList<>();
        ArrayList<Cat> cats = new ArrayList<>();
        ArrayList<MiniCat> miniCats =new ArrayList<>();
        showList(animals);//报错
        showList(cats);
        showList(miniCats);
    }
    public static void showList(List<? extends Cat> list){
        for(Object o : list)
            System.out.print(o+"\t");
    }
}
class Animal{

}
class Cat extends Animal{

}
class MiniCat extends Cat{

}

public class Demo02 {
    public static void main(String[] args) {
        ArrayList<Animal> animals = new ArrayList<>();
        ArrayList<Cat> cats = new ArrayList<>();
        ArrayList<MiniCat> miniCats =new ArrayList<>();
        showList(animals);
        showList(cats);
        showList(miniCats);//报错
    }
    public static void showList(List<? super Cat> list){
        for(Object o : list)
            System.out.print(o+"\t");
    }
}
class Animal{

}
class Cat extends Animal{

}
class MiniCat extends Cat{

}
  1. 下限通配符可以添加元素
posted @ 2021-07-18 00:03  别来无恙。。  阅读(25)  评论(0)    收藏  举报