首页 > 解决方案 > 为什么这个对象在这个 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);

}

标签: javaarrayslistobjectarraylist

解决方案


您的代码需要在方法或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);
}

推荐阅读