开发者社区 问答 正文

怎么确保一个集合不能被修改?

怎么确保一个集合不能被修改?

展开
收起
问问小秘 2020-01-03 13:50:59 1422 分享 版权
来自: Java开发者
1 条回答
写回答
取消 提交回答
  • 将参数中的List返回一个不可修改的List

    Collections的静态方法unmodifiableList可以达到目的。方法原型为:public static List unmodifiableList(List<? extends T> list);用法也很简单,传入一个List实例la,返回这个list的只读视图lb,类型依然是List。之后对lb进行add、remove等改变其内容的操作将导致编译不通过。

    https://blog.csdn.net/cilen/article/details/7744969

    Student1类,仅对外提供的getCourses()方法,而没有setCourses()方法,而且

    通过getCourses()方法获得的courses是“只读的”,如果你试图向其添加一个新课程,则

    抛出java.lang.UnsupportedOperationException。你必须通过Student1.addCourse()来

    向特定的Student1对象添加一个新课程。就好像,你必须让顾客自己向购物车里放食物,

    而不能在顾客毫不知情下,偷偷向其购物车里放食物。

    2020-01-03 13:51:26
    赞同 展开评论
问答地址: