java - 为什么这个对象在这个 ArrayList 中作为“未知类”出现?
问题描述
在类中创建了一些公共静态对象,并希望将它们放入 ArrayList。当我使用 .add() 方法将对象添加到列表中时,我收到一个错误,即对象的类是未知的。我将使用书籍使其易于查看。
我想把我所有的书和书单放在 Book 类中,这样我的主类就不会被它们填满。这就是我将它们设为公开和静态的原因——所以我可以在需要它们时调用它们。
用于编译列表的代码在 main 方法中工作得很好,但是由于某种原因,当我将它带到 Book 类时,它给了我 bookA、bookB 和 bookC 的下划线,并出现错误“Unknown Class”
import.java.List;
import.java.ArrayList;
public class Book {
String title;
public Book(String title) {
this.title = title;
}
public static Book bookA = new Book("Book A");
public static Book bookB = new Book("Book B");
public static Book bookC = new Book("Book C");
public static List<Book> myBooks = new ArrayList<Book>();
myBooks.add(bookA);
myBooks.add(bookB);
myBooks.add(bookC);
}
解决方案
您的代码需要在方法或static
块中
static{
myBooks.add(bookA);
myBooks.add(bookB);
myBooks.add(bookC);
}
// or static method
public static void main(String[] args){
myBooks.add(bookA);
myBooks.add(bookB);
myBooks.add(bookC);
}