java—在对象中添加对象会将相同的对象添加到所有对象中

tktrz96b  于 2021-07-12  发布在  Java
关注(0)|答案(1)|浏览(296)

**结束。**此问题需要详细的调试信息。它目前不接受答案。
**想改进这个问题吗?**更新问题,使其成为堆栈溢出的主题。

昨天关门了。
改进这个问题
我试图在arraylist中的na对象中添加一个对象。看起来像这样

private ArrayList<User> users;
class User{
 private String  name;
 private String  password;
 private Object2 object2;

 public Object2 getObject2();
  return this.object2;
}
class Object2{
 private ArrayList<Book> books;
 private ArrayList<Video> videos;

 public ArrayList<Book> getBooks(){
  return this.books;
 }
}

当我下一个命令的时候

users.get(0).getObject2().getBooks().add(book);

此命令将同一本书添加到所有用户,而不仅仅是所选的用户0,因此所有用户的每个object2都是相同的。

utugiqy6

utugiqy61#

嗨,我看到的一个问题是“arraylist books”从来没有初始化过——可能是在一些您没有共享的代码中?如果您共享完整的代码,可能更容易看到问题
初始化:arraylist books=new arraylist<>();

相关问题