在一般我们遇到数组转化为List时 我们一般直接:
List<String> list = Arrays.asList(arr);
看代码:
import java.util.Arrays;
import java.util.List;
public class CheckArrayListTest {
public static void main(String[] args) {
String[] arr=new String[] {"1","2"};
List<String> asList = Arrays.asList(arr);
}
}
从代码中可以看出
Arrays.asList()会返回一个ArrayList,但是要特别注意,这个ArrayList是Arrays类的静态内部类,并不是java.util.ArrayList类。
你可以试试对改list进行add操作,会发现抛出UnsupportedOperationException异常,因此它的大小也是固定不变的。
为了创建一个真正的java.util.ArrayList,你应该这样做:
ArrayList<String> arrayList = new ArrayList<String>(Arrays.asList(arr));
ArrayList的构造方法可以接收一个Collection类型,而java.util.Arrays.ArrayList已经实现了该接口。