У меня есть ошибка компиляции, которую я не могу исправить. Это дает мне сообщение о том, что это несоответствие типа: невозможно преобразовать из Object to List. Ниже я добавил методы, которые он говорит ошибка в.Java - ошибка компиляции debug
// 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
}
Как исправить эту ошибку?
Путаный код для чтения. Вы не следуете стандартам кодирования Java. Что такое Книги? Было бы лучше, если бы вы разместили весь класс, а не фрагменты метода. Мы не можем видеть весь контекст. – duffymo
Является ли книга переменной? если это нужно, нужно начинать с нижнего регистра. Вы пытаетесь использовать его: ClassName Books = (Classname) input.readObject(); – Phoenix
Вам нужно указать свой ObjectInputStream -> (ListBook) ObjectInputStream – Jaco