我的课程看起来像这样:
public class InformationSystem {
private final ArrayList<Book> books;
private final ArrayList<Reader> readers;
public InformationSystem() {
books = new ArrayList<Book>();
readers = new ArrayList<Reader>();
}
public void addBook(final String author, final String title) {
Book book = new Book(author, title);
books.add(book);
}
}
Run Code Online (Sandbox Code Playgroud)
为什么我可以添加/删除最终的arraylist中的值?
Sur*_*tta 15
我无法改变汽车,我仍然能够改变其中的部件:)
一旦分配了最终变量,它总是包含相同的值.如果最终变量包含对对象的引用,则可以通过对对象的操作来更改对象的状态,但该变量将始终引用同一对象.
你不能重新assign,你仍然可以改变状态.
简而言之
books =newBooksList; // huh! I'm final, No
books.add(book); //ok
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
607 次 |
| 最近记录: |