Для простоты, скажем, у меня есть arraylist allBooks
, содержащий класс "книги" и arraylist someBooks
, содержащий некоторые, но не все "книги".
Использование метода contains () работало нормально, когда я хотел узнать, содержится ли книга одного массива в другом.
Проблема заключалась в том, что это больше не работает, когда я сохраняю оба Arraylists в файл .bin и загружаю их обратно после перезапуска программы. При выполнении того же теста, что и раньше, функция contains () возвращает false, даже если сравниваемые объекты одинаковы (имеют одинаковую информацию внутри).
Я решил, перегрузив метод equals, и он отлично работает, но я хочу знать, почему это произошло?