1.关于泛型的形式参数
1 package test; 2 3 import java.util.ArrayList; 4 import java.util.List; 5 6 public class GenericTest { 7 8 public void m1(List<Object> list) { 9 10 } 11 12 public void m2(List<? extends Object> list) { 13 14 } 15 16 public void m3() { 17 18 // 正确,ArrayList是List的之类,可以正确赋值 19 m1(new ArrayList<Object>()); 20 21 // 错误,列表的元素是Object,不是String 22 // 可以这么说,ArrayList<Object>是继承List<Object>,但是ArrayList<String>是没有继承List<Object>的 23 m1(new ArrayList<String>()); 24 25 // 正确,这个的意思是,列表里的元素是继承自Oject的,明显,String是继承自Object的(其实形参可以写成List<?> list) 26 m2(new ArrayList<String>()); 27 } 28 29 }