为了简单起见,我可以说我有一个arraylist allBooks包含类"书籍"和一个arraylist someBooks包含一些但不是所有"书籍"的书.
当我想看一个arraylist中的一本书是否也包含在另一个arraylist中时,使用contains()方法工作正常.
问题是,当我将两个Arraylists保存到.bin文件并在程序重新启动后加载它们时,这不再起作用了.执行与以前相同的测试,即使比较的对象相同(内部具有相同的信息),contains()也返回false.
我通过重载equals方法解决了它,它工作正常,但我想知道为什么会发生这种情况?