Collections.unmodifiableCollection这个能够获得一个集合的镜像,它的返回结果不可直接被改变,不然会提示java
java.lang.UnsupportedOperationException at java.util.Collections$UnmodifiableCollection.add(Collections.java:1018)
为了就是保护数据不要被改变。另外,修改原Collections时,会同时修改对应的镜像。code
public class CollectionsTest { @Test public void test(){ Collection<String> c = new ArrayList<String>(); Collection<String> s = Collections.unmodifiableCollection(c); c.add("str"); System.out.println(s); } }
此时c集合被修改,s集合也会发生变化。
io