以下代码输出“ test”
List<Integer> b = new ArrayList<>();
List a = b;
a.add("test");
System.out.println(b.get(0));
这怎么可能?将字符串添加到整数列表时,我不应该期望出现错误吗?变量 a 仅保留对对象 b 的引用。 因此,如果从仅接受 Integer 类型作为参数的对象 b 调用了该方法,那么如何传递字符串?
编译器如何处理?调用哪种方法,为什么以及如何调用。