import java.lang.Math;
import java.util.*;
import java.io.*;
class Hello {
public static void main(String args[]) throws FileNotFoundException{
String[] veri2 = {"No", "Compilation", "Error"};
List<String> veri1 = new ArrayList<String>();
veri1.addAll(Arrays.asList(veri2)); // ---------- 14
System.out.println(veri1+"elements in hashset");
}
}
当将一个 List 添加到另一个元素类型为 String 的 List 时,为什么上面的代码在第 14 行不会抛出编译错误?
最佳答案
List<E>.addAll
方法接受 Collection<? extends E>
,以及 List<E>
接口(interface)继承自Collection<E>
.
如果您尝试添加 String
使用addAll
,你实际上会得到一个错误。
List<String> list = new ArrayList<String>();
list.addAll("Hello");
上面的代码不起作用,因为 String
不实现Collection<String>
.
关于java - 为什么 List<String> 接受另一个 <List> 作为元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5966317/