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