泛型通配符,泛型的使用总结

泛型通配符:

?:代表任意的数据类型

使用方式:

不能创建对象使用

只能作为方法的参数使用

public class tongpei {
    public static void main(String[] args) {
        ArrayList<Integer> list = new ArrayList<>();
        list.add(1);
        list.add(2);

        ArrayList<String> list1 = new ArrayList<>();
        list1.add("a");
        list1.add("b");

        printArray(list);
        printArray(list1);
    }

    /**
     * 定义一个方法,能遍历所有类型的ArrayList集合
     * 这时候我们不知道ArrayList集合使用什么数据类型,可以泛型的通配符?来接收数据类型
     * 注意:
     * 泛型没有继承概念的
     */
    public static void printArray(ArrayList<?> list){
        //使用迭代器遍历集合
        Iterator<?> it = list.iterator();
        while (it.hasNext()){
            //it.next方法,取出的元素是Object,可以接收任意的数据类型
            Object next = it.next();
            System.out.println(next);
        }
    }
}

 

 

 

 

泛型的使用总结:

1泛型类和泛型方法

  类名<泛型>

  方法名(泛型)

2.泛型接口和泛型方法

  接口名<泛型>

  方法名(泛型)

3.泛型通配符

public class tongpei {
    public static void main(String[] args) {
        ArrayList<Integer> lists = new ArrayList<>();
        lists.add(19);
        lists.add(18);

        ArrayList<String> lists1 = new ArrayList<>();
        lists1.add("魔");
        lists1.add("将");

        printArraylist(lists);
        printArraylist(lists1);
    }

    /**
     * 定义一个方法,能遍历所有类型的ArrayList集合
     * 这时候我们不知道ArrayList集合使用什么数据类型,可以泛型的通配符?来接收数据类型
     * 注意:
     * 泛型没有继承概念的
     */
    public static void printArraylist(ArrayList<?> array){
        //使用迭代器遍历集合
        Iterator<?> its = array.iterator();
        while (its.hasNext()){
            //it.next方法,取出的元素是Object,可以接收任意的数据类型
            Object iter = its.next();
            System.out.println(iter);
        }
    }
}

 

 

posted @ 2022-07-06 19:27  冰灵IT  阅读(42)  评论(0)    收藏  举报