void f(List l){
}
@Test
public void g(){
List j =new ArrayList<String>() ;
f(j);
System.out.println("hello");
}
@Test
public void g(){
List j =new ArrayList<String>() ;
f(j);
System.out.println("hello");
}
上面运行是正确的
<T> void f(List<T> l){
}
@Test
public void g(){
//List<String> j =new ArrayList<String>() ;正确
List j =null;
f(j);
System.out.println("hello");
}
上面运行是错误的的
说明加了<T>之后我们必须传入类型,编译器才不会报错。