这里的类型安全性如何没有危险

时间:2018-10-05 20:29:50

标签: java oop generics type-safety

以下代码输出“ test”

    List<Integer> b = new ArrayList<>();
    List a = b;
    a.add("test");
    System.out.println(b.get(0));

这怎么可能?将字符串添加到整数列表时,我不应该期望出现错误吗?变量 a 仅保留对对象 b 的引用。 因此,如果从仅接受 Integer 类型作为参数的对象 b 调用了该方法,那么如何传递字符串?

编译器如何处理?调用哪种方法,为什么以及如何调用。

0 个答案:

没有答案