泛型通配符,泛型的使用总结
泛型通配符:
?:代表任意的数据类型
使用方式:
不能创建对象使用
只能作为方法的参数使用
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); } } }