package collction.Iterator; import java.util.ArrayList; import java.util.Collection; import java.util.HashSet; import java.util.Iterator; //创建ArrayList的集合和HasSet类型的集合用一个Iterator遍历两个类型的集合。 //用到的知识是泛型的通配符。 public class Fanlimit_Demo { public static void main(String[] args) { ArrayList<Integer> arr =new ArrayList<>(); HashSet<Integer> has =new HashSet<>(); arr.add(123); arr.add(456); has.add(678); has.add(789); iterator(arr); iterator(has); } // 泛型的通配符,匹配所有的数据类型 ? public static void iterator(Collection<?> coll){ Iterator<?> it =coll.iterator(); while(it.hasNext()){ // 由于通配符匹配所有的数据类型所以他的返回值是Object类型 Object obj =it.next(); System.out.println(obj); } } }
泛型:指明了集合中存储的数据类型。
泛型的使用的好处:将运行时期的classException转移到了编译时期,变成了编译失败。
避免类类型强转的麻烦。