1、限定通配符的上边界
Vector<? extends Number> v = new Vector<Integer>();
正确:因为Number中包含Integer。
Vector<? extends Number> vv = new Vector<String>();
错误:因为Number中不包含String。
2、限定通配符的下边界
Vector<? super Integer> v = new Vector<Number>();
正确:因为Number范围比Integer大。
Vector<? super Integer> vv = new Vector<Byte>();
错误:因为Integer和Byte是同级别的。注意:限定通配符是包括自己的。
3、泛型举例
HashMap<String,Integer> map = new HashMap<String,Integer>();
map.put("age", 23);
map.put("id", 110);
Set<Entry<String,Integer>> set = map.entrySet();
for(Entry<String,Integer> entry:set){
System.out.println(entry.getKey() +" : " + entry.getValue());
}
结果:
id : 110
age : 23