Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
尝试在java中使用方法时发生异常_Java - Fatal编程技术网

尝试在java中使用方法时发生异常

尝试在java中使用方法时发生异常,java,Java,嗨,伙计们,经过一段长时间的休息后,我正试图回到编码上来,我遇到了一些问题。 我正在构建一个程序,其中有一个用户上传的图书库(不是真的上传任何东西),我正在运行一个 Exception in thread "main" java.lang.NullPointerException at Library.beans.User.uploadBook(User.java:107) at Library.LibraryApplication.main(LibraryApplication

嗨,伙计们,经过一段长时间的休息后,我正试图回到编码上来,我遇到了一些问题。 我正在构建一个程序,其中有一个用户上传的图书库(不是真的上传任何东西),我正在运行一个

Exception in thread "main" java.lang.NullPointerException
    at Library.beans.User.uploadBook(User.java:107)
    at Library.LibraryApplication.main(LibraryApplication.java:22)
当我试图通过用户添加一本新书时,我使用SpringBTW

编码片段

User bean
@Entity
@Table(name = "Users")
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private int id;
    @Column(nullable = false, unique = true)
    private String email;
    @Column(nullable = false)
    private String password;
    @Column(nullable = false, unique = true)
    private String userName;
//  ** Books added to a user private library **
    @ManyToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
    private List<Book> userLibrary;
//  ** Books uploaded by user **
    @OneToMany(cascade = CascadeType.ALL)
    private List<Book> userBooks;

    public User(String email, String password, String name) {
        super();
        this.email = email;
        this.password = password;
        this.userName = name;
    }
public void uploadBook(Book book) {
        this.userBooks.add(book);
    }
额外注释 如果我通过(book new book)在用户之外创建了一本书,并以一种方式将作者添加到ctr中,该书将声明其作者是我在创建时输入的“用户”,但同一“用户”不会将其列在其上载的图书列表下。
我在这里遗漏了什么?

您必须初始化
私有列表用户手册用户
bean中的code>

您的列表对象为空,这会在您将和对象添加到此列表时导致
NullPointerException

这将解决您的问题:

private List<Book> userBooks = new ArrayList();
private List userbook=new ArrayList();

Well.。这很有效……但是为什么我需要在bean中初始化呢?我检查了一个我做的旧项目,它在bean中也有一个列表,并且在没有初始化的情况下工作得很好。
user.uploadBook(new Book("book1", "a", "b", GenreType.Action));
private List<Book> userBooks = new ArrayList();