Collections.unmodifiableCollection 实际是使用的代理模式,返回的Collection内部仍然使用原来Collection。
这段代码的输出为:
Original Size=3
New Size=4
ssss
ssss
ssss
d
我们不能直接操作unmodifiableCollection,这段代码运行时将抛异常
Original Size=3
Exception in thread "main" java.lang.UnsupportedOperationException
at java.util.Collections$UnmodifiableCollection.add(Collections.java:1018)
at Test.main(Test.java:22)