首先,该方法是将数组转化为list。有以下几点需要注意:
(1)该方法不适用于基本数据类型(byte,short,int,long,float,double,boolean),但是适合于对应的包装类型(实际上是对象)!!
(2)该方法将数组与列表链接起来,当更新其中之一时,另一个自动更新
(3)不支持add和remove方法
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class Test001 {
/**
* @param args
*/
public static void main(String[] args) {
String [] s={"1","2","3","4","5"};
Integer [] s1={1,2,3,4,5};//若s1定义为int型基本类型,转换成集合,其功能会受限
ArrayList as=new ArrayList();
as.add(1);
as.add(2);
as.add(4);
Object[] array = as.toArray();
System.out.println(array.length);
System.out.println("/////////////////////");
List asList = Arrays.asList(s1);
System.out.println(asList.size());
System.out.println(asList.get(1));
// asList.add(new Integer(6));//报错,提示 java.lang.UnsupportedOperationException
// asList.remove(0);//报错,提示 java.lang.UnsupportedOperationException
System.out.println("之前:"+asList.get(1));
s1[1]=11111;//改变数组的值,集合的值对应也会改变
System.out.println("之后:"+asList.get(1));
System.out.println("/////////////////////");
System.out.println("之前:"+s1[0]);
asList.set(0, 10);//改变集合的值,数组的值对应也会改变
System.out.println("之前:"+s1[0]);
}
}
更详细的总结参考:
https://www.cnblogs.com/shanheyongmu/p/6364320.html
原文:https://www.cnblogs.com/xf1314/p/10674522.html