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");
}
}
Run Code Online (Sandbox Code Playgroud)
为什么当List被添加到其元素类型为String的另一个List时,上面的代码在第14行不会抛出编译错误?
该List<E>.addAll方法接受a Collection<? extends E>,List<E>接口继承自Collection<E>.
如果您尝试添加String使用addAll,实际上会出现错误.
List<String> list = new ArrayList<String>();
list.addAll("Hello");
Run Code Online (Sandbox Code Playgroud)
上面的代码不起作用,因为String没有实现Collection<String>.