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