gpt4 book ai didi

java - Java-编译错误调试

转载 作者:行者123 更新时间:2023-12-02 11:15:52 24 4
gpt4 key购买 nike

我有一个似乎无法修复的编译错误。它给我的消息是类型不匹配:无法从Object转换为List。
在下面,我添加了表示错误所在的方法。

// Read books from file
public void readBooksFromFile() {
if(booksDatabase != null && !booksDatabase.isEmpty()) {
try (ObjectInputStream input = new ObjectInputStream(new FileInputStream(booksDatabase))) {
Books = input.readObject(); // Error here
} catch (IOException e) {
e.printStackTrace();
}
}
}

第二种方法
public ListBook(String booksDatabase) {
this.booksDatabase = booksDatabase;
readBooksFromFile(); // Error here
}

第三种方法
public static void main (String[] args){
// creates ListBook object to keep track of books in the library
ListBook lb = new ListBook("books.dat"); // Error here

// add books to the ListBook object
lb.addBook(new Book("E-commerce", "Kenneth Laudon", "2014", "024449"));
lb.addBook(new Book("Java Programming", "Daniel Liang", "2014", "761312"));
lb.addBook(new Book("EU Internet Law", "Andrej Savin", "2015", "429379"));


//New object
//getter setter methods
LibrarianMenu li = new LibrarianMenu(lb);
//execute the function from the librarian.java
}

如何解决此错误?

最佳答案

ObjectInputStream返回一个对象;您显然是将其分配给类型为List的Books。馊主意。

更糟糕的是,我认为您正在想象readObject可以遍历一个集合并将多本书读入一个List。我认为您应该编写该方法,以便它读取一本Book并遍历一个集合,并将单个书添加到列表中。

关于java - Java-编译错误调试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29818747/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com