List
时会失去类型安全而使用 List<Object>
时不会?它们不是基本上相同的东西吗?
编辑:我发现以下代码会编译错误public class TestClass
{
static void func(List<Object> o, Object s){
o.add(s);
}
public static void main(String[] args){
func(new ArrayList<String>(), new Integer(1));
}
}
然而这样并不会
public class TestClass
{
static void func(List o, Object s){
o.add(s);
}
public static void main(String[] args){
func(new ArrayList<String>(), new Integer(1));
}
}
为什么?