有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java泛型遗留兼容性问题

这段代码编译得很好,执行时会产生“004b”,这就是为什么它不会产生classcastException

public static void append(List list) {
    list.add("004b");
}

public static void main(String[] args) {
    List<Integer> intList = new ArrayList<Integer>();
    append(intList);
    System.out.println(intList.get(0));
}

共 (1) 个答案

  1. # 1 楼答案

    建议:

    1. 不要混合使用原始类型和通用类型
    2. 打开Java编译器的泛型类型 警告。这会告诉你你的错误代码
    3. 如果使用“选中的集合”类型(例如,使用Collections.checkedList(…)创建的集合)在集合中插入键入错误的对象时,将出现异常