Я наткнулся на источник AtomicInteger и понял, что
new AtomicInteger(0).equals(new AtomicInteger(0))
равно false.
Почему это? Это какой-то "защитный" выбор дизайна, связанный с проблемами concurrency? Если да, то что может пойти не так, если бы оно было реализовано по-другому?
(Я понимаю, что вместо get и == я мог бы использовать.)