首页 > 代码库 > Collections.unmodifiableCollection

Collections.unmodifiableCollection

Collections.unmodifiableCollection这个可以得到一个集合的镜像,它的返回结果不可直接被改变,否则会提示

java.lang.UnsupportedOperationException  
    at java.util.Collections$UnmodifiableCollection.add(Collections.java:1018)

为了就是保护数据不要被改变。另外,修改原Collections时,会同时修改对应的镜像。

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集合也会发生变化。

Collections.unmodifiableCollection