17. 如何让一个集合不能被修改?

可以采用Collections包下的unmodifiableMap/unmodifiableList/unmodifiableSet方法,通过这个方法返回的集合,是不可以修改的。如果修改的话,会抛出 java.lang.UnsupportedOperationException异常。
对于List/Set/Map集合,Collections包都有相应的支持。

那使用final关键字进行修饰可以实现吗?
答案是不可以。
final关键字修饰的成员变量如果是是引用类型的话,则表示这个引用的地址值是不能改变的,但是这个引用所指向的对象里面的内容还是可以改变的。
而集合类都是引用类型,用final修饰的话,集合里面的内容还是可以修改的。

posted on 2024-12-23 16:04  南柯易梦  阅读(26)  评论(0)    收藏  举报