gpt4 book ai didi

java - 需要澄清 addAll 方法的行为

转载 作者:太空宇宙 更新时间:2023-11-04 07:37:45 25 4
gpt4 key购买 nike

嗨,我正在使用 Collection 框架的 addAll 方法。请在下面找到我的代码。对于代码 1,它工作正常。对于代码 2,它给我编译错误。我不知道为什么它没有给我代码 1 的错误。请给出原因。

代码1

 public static void main(String[] args) {
List<Integer> firstList=new ArrayList<Integer>();
List secondList=new ArrayList(); //without generic

secondList.add("string value");

firstList.addAll(secondList);
System.out.println(firstList);

}

输出:

[string value]

代码2

         public static void main(String[] args) {
List<Integer> firstList=new ArrayList<Integer>();
List<String> secondList=new ArrayList<String>(); //with generic

secondList.add("string value");

firstList.addAll(secondList);
System.out.println(firstList);

}

输出

     compilation error

最佳答案

Java 泛型 在编译时进行检查。意味着编译器可以检查通用列表,并且如果 String ListInteger,则可以显示错误。而在第一种情况下。它是一个非泛型,编译器无法在编译时判断。
另请阅读类型删除

关于java - 需要澄清 addAll 方法的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16562105/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com