泛型通配符实例
Posted chenyanlong
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了泛型通配符实例相关的知识,希望对你有一定的参考价值。
泛型的通配符: ?
作用:
作为方法的参数集合的泛型使用,可以接收任意的数据类型
不能创建对象使用
初级使用:
我把一些注释,都写在了详细的文档中。
1 package com.cyl.demo; 2 3 import java.util.ArrayList; 4 import java.util.Iterator; 5 6 public class Demo2 7 public static void main(String[] args) 8 ArrayList<Integer> list1 = new ArrayList<>(); 9 list1.add(1); 10 list1.add(2); 11 12 ArrayList<String> list2=new ArrayList<>(); 13 list2.add("hello1"); 14 list2.add("hello2"); 15 16 printArraylist(list1); 17 System.out.println("#############不同类型的分割线#############"); 18 printArraylist(list2); 19 20 21 22 23 /* 24 定义一个可以对,任意数据类型打印的ArrayList 25 采用三种方式打印 26 */ 27 private static void printArraylist(ArrayList<?> list) 28 System.out.println("------迭代器遍历------"); 29 Iterator<?> it = list.iterator(); 30 while (it.hasNext())//遍历的ArrayList,采用while 31 Object o = it.next();//采用Object来接收任意数据类型 32 System.out.println(o); 33 34 System.out.println("----foreach遍历----"); 35 for (Object o: 36 list) 37 System.out.println(o); 38 39 System.out.println("----for循环----"); 40 for (int i = 0; i < list.size(); i++) 41 System.out.println(list.get(i)); 42 43 44
运行效果图:
高级使用(泛型设定)
上限限定: ? extends E 传递的未知的数据类型?只能是E的子类,或者E本身
下限限定: ? super E 传递的未知的数据类型?只能是E的父类,或者E本身
以上是关于泛型通配符实例的主要内容,如果未能解决你的问题,请参考以下文章