在java中用‘?’代表泛型同配符
下面介绍它的使用方式
泛型通配符不能在创建对象时使用
例如:
我们一般是在集合中使用泛型,但是如果在闯创建集合的时候使用,在添加数据时会出现编译报错
泛型通配符的正确使用方式是只能作为方法的参数使用
例如我们创建了多个存放不同数据类型的集合,可以将集合做为参数在一个方法中进行遍历,在方法的参数中此时可以使用泛型通配符’?‘,而不用指定为特定的类型。下面看程序
public class Test {
public static void main(String[] args) {
List<Integer> list1 = new ArrayList<>();
list1.add(1);
list1.add(2);
list1.add(3);
List<String> list2 = new ArrayList<>();
list2.add("张三");
list2.add("李四");
list2.add("王五");
List<Character> list3 = new ArrayList<>();
list3.add('j');
list3.add('a');
list3.add('v');
list3.add('a');
//调用方法遍历集合
show(list1);
show(list2);
show(list3);
}
//定义一个方法遍历集合
public static void show(List<?> list) {
//增强for循环遍历
for (Object element : list) {
System.out.print(element+"\t");
}
System.out.println();
}
}
运行结果