添加到ArrayList <integer>的字符串工作没有问题,为什么?

时间:2016-07-14 11:30:31

标签: java generics

请参阅以下代码。

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'不是整数。为什么这也有效?

请您清楚我的疑问,为什么此代码可以解决任何问题?

0 个答案:

没有答案