【发布时间】:2020-09-30 17:40:04
【问题描述】:
我对 Array List 的这种行为感到困惑。 有人可以解释一下吗
List list = new ArrayList();
list.add(1);
list.add("test");
List<Integer> integerList = new ArrayList<>();
integerList.add(123);
integerList.add(456);
integerList.addAll(list);
System.out.println(integerList);
如何在整数数组列表中添加字符串 有人可以分享一些资源来理解这些事情吗?
【问题讨论】:
-
它之所以有效,是因为 Java 不会在运行时检查列表,并且
list是用原始类型声明的,这基本上可以让您绕过编译时检查泛型相关的东西。不过,您应该收到警告。 -
感谢@user 的评论。但我在那里没有看到任何警告。我对此很困惑。你能解释一下这是更多细节吗?
-
我在您的代码的这一行收到警告:
integerList.addAll(list);您是说您没有收到该行的警告吗? -
@SauravDudeja 详细信息:What is a raw type and why shouldn't we use it?
标签: java