Collections.unmodifiableCollection这个可以得到一个集合的镜像,它的返回结果不可直接被改变,否则会提示
正常的使用如下:
- java.lang.UnsupportedOperationException
- atjava.util.Collections$UnmodifiableCollection.add(Collections.java:1018)
正常的使用如下:
- publicclassCollectionsTest{
- @Test
- publicvoidtest(){
- Collection<String>c=newArrayList<String>();
- Collection<String>s=Collections.unmodifiableCollection(c);
- c.add("str");
- System.out.println(s);
- }
- }
我们对c进行操作,s也同样获得了和c相同的内容,这样就可以避免其他人员修改这个s对象。有时候需要对它进行保护,避免返回结果被人修改。
我们不能直接操作unmodifiableCollection,否则运行时将抛异常
转自:http://bazhuang.iteye.com/blog/903577