1、Collections.unmodifiableList
简单来说,当我们封装了一个list,外面可能会需要获取这个list。如果直接将list返回,外界很可能会修改这个list,导致数据不稳定。那有没有解决办法呢?有的。
public List<String> getCourses(){ return Collections.unmodifiableList(courses); }
这样操作之后,通过 getCourses() 方法获得的 courses 是“只读的”,如果你试图向其添加一个新课程,则抛出 java.lang.UnsupportedOperationException。你必须通过 Student1.addCourse() 来向特定的 Student1 对象添加一个新课程。