Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java中如何在整数列表中添加列表元素_Java - Fatal编程技术网

Java中如何在整数列表中添加列表元素

Java中如何在整数列表中添加列表元素,java,Java,我对数组列表的这种行为感到困惑。 有人能解释一下吗 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(inte

我对数组列表的这种行为感到困惑。 有人能解释一下吗

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);
List List=new ArrayList();
增加第(1)款;
列表。添加(“测试”);
List integerList=new ArrayList();
整数列表。添加(123);
整数列表。添加(456);
integerList.addAll(列表);
System.out.println(整数列表);
如何在Integer arrayList中添加字符串
有人能分享一些资源来理解这些事情吗?

这里讨论了原因:

泛型由编译器检查,但在运行时之后不检查

正如@user提到的,您的编译器/IDE很可能会显示警告,例如

列表是原始类型。对泛型类型列表的引用应参数化


它之所以能够工作,是因为Java在运行时不检查列表,而且
list
是用原始类型声明的,这基本上可以让您绕过编译时对泛型相关内容的检查。不过,你应该得到一个警告。谢谢@user的评论。但我没有看到任何警告。我对此感到非常困惑。你能解释一下这是更多的细节吗?我在你代码的这一行得到一个警告:
integerList.addAll(list)你是说你没有收到该行的警告吗?@SauravDudeja这里,详细信息:编译器为什么警告
integerList.addAll(list),不是错误?因为第一个
ArrayList
是用原始类型声明的。看见如果第一行输入的是
List=new ArrayList()
列表=新的ArrayList()
则当您尝试添加其他类型时,编译器将安全地指示错误。