Collections.unmodifiableCollection

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

相关文章
相关标签/搜索