java.util.concurrent.atomic.AtomicInteger tidak menggantikan metode yang sama seperti java.lang.Integer? [duplikat]

Saya dapat membandingkan AtomicInteger contoh dalam kode saya dan tidak menemukan metode yang sama yang diganti. Namun java.lang.Integer menyediakan implementasi untuk metode equals/hashCode.

Pengguna harus mengambil rute alternatif untuk membandingkan int dari metode get() atau getInt().

Pertanyaan saya adalah apa yang menghentikan Pak. Doug Lea untuk tidak mengganti metode equals/hashCode? Saya yakin ada alasan sah untuk itu yang tidak saya sadari.


person Maas    schedule 07.01.2015    source sumber


Jawaban (1)


Objek AtomicInteger Dapat diubah dan merupakan petunjuk yang cukup untuk tidak menimpa kode hash dan yang setara.

Tidak disarankan untuk menggunakan objek yang bisa berubah sebagai kunci untuk Maps dan karenanya tidak ada alasan untuk mengganti kode hash dan karenanya sama.

person Pandiri    schedule 07.01.2015