使用Arrays.asList将数组转换为集合:
public static void main(String[] args) {
String [] str = new String []{"a","b","c","d","e","f"};
List<String> list = Arrays.asList(str);
str[2] = "o";
System.out.println("list: "+list);
}
console打印:list: [a, b, o, d, e, f]
--------
public static void main(String[] args) {
String [] str = new String []{"a","b","c","d","e","f"};
List<String> list = Arrays.asList(str);
list.add("g");
System.out.println("list: "+list);
}
Arrays.asList()把数组转换成集合时,不能使用其修改集合的相关方法,他的add/remove/clear方法都会抛出UnsupportedOperationException异常。
asList()的返回对象是一个Arrays内部类,并没有实现集合的修改方法。所以,如果需要修改集合,要在转换之前操作。在你转换后,再对数组的值进行修改,集合也会跟着变化。
将数组转换为集合并可以使用集合方法:
List<String> list = new ArrayList<String>(Arrays.asList(str));