Java第八章泛型
八、泛型
1.在集合中使用泛型
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
Map Map<String,Integer> map = new HashMap<>(); map.put("AA",33); List List<Integer> list = new ArrayList<Integer>() list.add(78); Iterator<Integer> it = list.iterator(); while(it.hasNext()){ sysout(it.next()); }
entry
Set<Map.entry<String,Integer>> set = map.entrySet();
for(Map.Entry<String,Integer> o : set){
sysout(o.getKey() + "--->" +o.getValue());
}
2.自定义泛型类、泛型接口、泛型方法
1.当实例化泛型类的对象时,指明泛型的类型 指明之后,对应的类中所有使用泛型的位置,都变为实例化中指定的泛型的类型 2.如果我们自定义了泛型类,但是在实例化时没有使用,那么默认类型是Object类的 继承泛型类或泛型接口时,可以指明泛型的类型 private T t; List<T> list = new ArrayList<>(); 自定义泛型类的使用: Order<Boolean> order = new Order<Boolean>(); 声明泛型方法 public <E> E getE(E e){ return e; } //当通过对象调泛型方法时,指明泛型方法的类型 调用泛型方法 Integer i = order.getE(34); Double d= order.getE(2.3);
自定义泛型类
泛型类注意点
泛型类 1.静态方法中不能使用类的泛型 2.如果泛型类是一个接口或抽象类,则不能创建泛型类的对象。 3.不能在catch中使用泛型 4.从泛型类派生子类,泛型类型需具体化 把一个集合中的内容限制为一个特定的数据类型。
3.泛型与继承的关系
4.通配符
? extends A:可以存放A及其子类
? super A:可以存放A及其父类
注意:

更多精彩