数组转化我list的三种方式
1.Arrays.asList(数组)
String[] strings = new String[2];
strings[0] = "afe";
strings[1] = "sefe";
List<String> list=Arrays.asList(strings);
//汇报异常
list.add("sefe");
理由:返回值是Arrays类中一个私有静态内部类java.util.Arrays.ArrayList,它并非是java.util.ArrayList的类。
这个类具有set(),get(),contains()等方法,但是不具有添加add()或删除remove()
综合一句:就是不能添加或者删除原有的数组
2、new ArrayList<>(Arrays.asList(数组)
这种方法相当于再创建一个ArrayList,然后把原来的的java.util.Arrays.ArrayList的内容放进去。
局限性在于,存储数据量不大的时候。
String[] strings = new String[2];
strings[0] = "afe";
strings[1] = "sefe";
List<String> li=Arrays.asList(strings);
ArrayList<String> list =new ArrayList<>(li);
3、Collections.addAll()
这是最为有效的方法。
1、首先要创建出ArrayList
2、然后通过Collections.addAll()(返回值是boolean型,用于判断是否成功)
String[] strings = new String[2];
strings[0] = "afe";
strings[1] = "sefe";
List<String> list=new ArrayList();
Collections.addAll(list,strings);
List转化为数组
1、方式一:toArray()
返回是Object数组[ ],也能通过强转转化为自己的想要的类型,但是容易出错
并且list中的数据不一定都是String类型的。
List<String> list=new ArrayList<>();
list.add("sefs");
list.add(("fsef");
Object[] obj=list.toArray();
2、方式二:toArray(T a)
返回的是自己表示的类型
List<String> list=new ArrayList<>();
list.add("sefs");
list.add(("fsef");
String[] str=list.toArray(new String(list.size());