У меня есть следующий код:
public static void main(String[] args) {
List<String> s = new ArrayList<String>();
s.add("kshitiz");
//This is not typesafe. It should blow up at runtime
List<Integer> i = new ArrayList(s);
System.out.println(i.get(0));
}
Эта программа работает нормально и печатает kshitiz
. Он не работает, если я заменю последнюю строку:
System.out.println(i.get(0).getClass());
Исключение:
Exception in thread "main" java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer
Что здесь происходит?