泛型的通配符: ?:代表任意的数据类型 使用方式: 不能创建对象使用,只能作为方法的参数使用 当定义一个可以遍历任意类型集合的方法时,这个时候我们不知道集合为什么类型,可以用泛型的通配符来接受数据类型 注意:泛型没有继承的概念
public class demo01 {
public static void main(String[] args) {
ArrayList<String> s1 = new ArrayList<>();
s1.add("a");
s1.add("b");
ArrayList<Integer> s2 = new ArrayList<>();
s2.add(1);
s2.add(2);
printarrys(s1);
}
//泛型之所以不能用object是因为泛型不存在继承的概念
public static void printarrys(ArrayList<?> s) {
//使用迭代器遍历集合
Iterator<?> it = s.iterator();
while (it.hasNext()) {
Object o = it.next();
System.out.println(o);
}
}
泛型的通配符一般在不知道集合为何种类型时使用,注意不可以创建对象时使用,只可以作为方法的参数使用