Почему мы теряем безопасность типов при использовании List
, а не при использовании List
? Разве это не одно и то же?
РЕДАКТИРОВАТЬ : Я обнаружил, что следующее выдает ошибку компиляции
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));
}
}
Почему?