简短的问题。希望它得到很快的回答。假设我有一个像这样的单身人士:
package main.library;
public enum LibrarySingleton {
INSTANCE(new String[][]{});
final String[][] bookStore;
private LibrarySingleton(String[][] bookStore){
this.bookStore = bookStore;
}
}
和一个包含3个变量的Book类:
package main.library;
public class Book{
String author;
String title;
int pages;
@Override public String toString(){
return ("|" + author + "|" + title + "|" + pages + "|");
}
public Book(){
System.out.println("Error: No book information specified");
}
public Book(String author, String title, int pages){
this.author = author;
this.title = title;
this.pages = pages;
}
public String getAuthor(){
return author;
}
public String getTitle(){
return title;
}
public int getPages(){
return pages;
}
}
我正在研究如何使用该单例作为一个拿着书的数组。如何访问这些书籍,将它们放入数组(单例),或从数组中删除它们(单例)?如果单身人士的写法不同,请纠正我,并解释为什么它是错的,因为我对Java还不是那么“高级”。
真的希望你们能回答我。只是问题。
答案 0 :(得分:1)
如果你想要单身,你可以使用以下方法:
public class Library {
private static final Library instance = new Library();
private List<Book> books = new ArrayList<Book>();
public static Library getInstance() {
return instance ;
}
public void add(Book book) {
books.add(book);
}
}
当然,如果您的程序有多个线程,请添加同步。如果你的程序在J2EE环境中运行,那里发生了复杂的类加载,你需要一个不同的模式。
答案 1 :(得分:0)
如果初始化一个空数组并使其成为最终数组,它将保持为空并且您无法重新初始化它。我想你需要的是一个arraylist(一般列表)。那个你可以初始化并添加元素。