使用Arrays和Collections实现将数组快速转成list

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
public class asdas {
public static void main(String[] args) {
List list = Arrays.asList("jack","lisa","tom");  
        List lists1 = Arrays.asList(new String[]{"jack","lisa","tom"});  
         
        List list2 = new ArrayList();  
        boolean addAll = Collections.addAll(list2, new String[]{"jack","lisa","tom"});  
        
        List list3 = new ArrayList();  
        boolean addAll2 = Collections.addAll(list3, "jack","lisa","tom");
        
        System.out.println("list:"+list);  
        System.out.println("list1:"+lists1);  
        System.out.println("list2:"+list2);  
        System.out.println("list3:"+list3);  
}
}
运行结果:
      list:[jack, lisa, tom]
              list1:[jack, lisa, tom]
              list2:[jack, lisa, tom]
              list3:[jack, lisa, tom]
注意:
      使用Arrays.asList这种方法生成的list是不能使用list.add remove等方法的,因为Arrays.asList()方法返回的是一个和ArrayList同名的自定义内部类,该内部类和ArrayList一样实现了 
    private static class ArrayList extends AbstractList        implements  RandomAccess, java.io.Serializable  ,,,但是它没有自己重写add ,和remove,而是使用父类AbstractList里面的方法,导致使用add,remove时抛出父类中的异常,大家可以查看源码,所以说这是一个可读的List。不可对其操作。

猜你喜欢

转载自blog.csdn.net/qq_35044419/article/details/79492651
今日推荐