java.util.concurrent.atomic.AtomicInteger ไม่แทนที่วิธีการเท่ากับ java.lang.Integer? [ทำซ้ำ]

ฉันเจอการเปรียบเทียบ AtomicInteger อินสแตนซ์ในโค้ดของฉัน และพบว่าไม่มีวิธีใดที่เท่าเทียมกันถูกแทนที่ อย่างไรก็ตาม java.lang.Integer จัดให้มีการใช้งานสำหรับวิธีการ equals/hashCode

ผู้ใช้ต้องใช้เส้นทางอื่นในการเปรียบเทียบ int จากวิธี get() หรือ getInt()

คำถามของฉันคือสิ่งที่หยุดท่านครับ Doug Lea จะไม่แทนที่วิธี equals/hashCode ใช่ไหม ฉันแน่ใจว่ามีเหตุผลที่ถูกต้องซึ่งฉันไม่ทราบ


person Maas    schedule 07.01.2015    source แหล่งที่มา


คำตอบ (1)


ออบเจ็กต์ของ AtomicInteger นั้น ไม่แน่นอน และเป็นคำใบ้เพียงพอที่จะไม่แทนที่แฮชโค้ดและเท่ากับ

ไม่แนะนำให้ใช้วัตถุที่ไม่แน่นอนเป็นกุญแจสำหรับ Maps และดังนั้นจึงไม่มีเหตุผลที่จะแทนที่ hashcode และด้วยเหตุนี้จึงเท่ากัน

person Pandiri    schedule 07.01.2015