请参阅以下代码。
import java.util.ArrayList;
import java.util.List;
public class Generics {
public static void append(List list) {
list.add("ABCD");
}
public static void main(String[] args) {
List<Integer> intList = new ArrayList<Integer>();
append(intList);
System.out.println(intList.get(0));
}
}
在list.add(“ABCD”)中,预计会发生运行时异常,因为ABCD不是整数。我知道'list'是原始类型,所以list.add()不会给出任何编译问题,但它应该在运行程序时中断,对吧?
再次 - System.out.println(intList.get(0)) - 'intList'是整数列表,它应该返回整数值,但'ABCD'不是整数。为什么这也有效?
请您清楚我的疑问,为什么此代码可以解决任何问题?