1.List<String> l=new ArrayList<String>();
Map<string,string> m=new HashMap<string,string>();
List和Map都是接口,不能直接new,只能通过其他具体类型实例化赋值给他们。
2.泛型通配符
2.1通配符?表示任何类型
public void test(List<?> c) { for (int i = 0; i < c.size(); i++) { System.out.println(c.get(i)); } }
2.2形参通配符上线(? extends Object) a中的元素是Object的子类
public void myTest2(List<? extends Object> a) { for (Object object : a) { System.out.println(object); } }
2.3类型形参上限
public class App<T extends Number> { T col; public void abc(String[] args) { /*App<String> a=new App<String>();*/ App<Integer> a=new App<Integer>(); } }