轻量级集合包装器
String[] temp=new String[20];
List<String> tempList=Arrays.asList(temp);
以上代码返回的不是一个ArrayList,而是一个视图对象,你只能使用get(),set()方法访问底层的数组,而任何尝试
改变数组大小的方法都抛出UnsupportedOperationException。
Collections.nCopies和Collections.singleton也是返回了不可修改的对象
用Junit测试Collections.nCopies(int n, T o)
public void testCollectionnCopies(){
List<String> settings=Collections.nCopies(5, "Baby");
String testStr1=settings.get(1);
String testStr0=settings.get(0);
System.out.println(testStr1==testStr0);//返回true
System.out.println(testStr1);
settings.add("B");//抛出UnsupportedOperationException
System.out.println(settings);
}
同时:还有Collections.singleton(anObject)等实用的方法。
网友评论