การใช้วิธีการแทนที่เท่ากับใน Java คืออะไร?
การใช้วิธีการแทนที่เท่ากับใน Java คืออะไร?

วีดีโอ: การใช้วิธีการแทนที่เท่ากับใน Java คืออะไร?

วีดีโอ: การใช้วิธีการแทนที่เท่ากับใน Java คืออะไร?
วีดีโอ: เริ่มเขียนโปรแกรมด้วย Java ฉบับไว ๆ เข้าใจที่สุดในโลก 2024, เมษายน
Anonim

แทนที่เท่ากับ และ hashCode ใน Java

เท่ากับ () กระบวนการ เป็น ใช้แล้ว เพื่อเปรียบเทียบ Objects เพื่อความเท่าเทียมกันในขณะที่ hashCode is ใช้แล้ว เพื่อสร้างรหัสจำนวนเต็มที่สอดคล้องกับวัตถุนั้น

ในที่นี้การใช้วิธีเท่ากับใน Java คืออะไร?

NS เท่ากับ () กระบวนการ เปรียบเทียบสองอ็อบเจ็กต์เพื่อความเท่าเทียมกันและคืนค่า จริง หากเป็น เท่ากับ . NS เท่ากับ () กระบวนการ ให้ไว้ในคลาสอ็อบเจ็กต์ ใช้ ตัวดำเนินการข้อมูลประจำตัว (==) เพื่อตรวจสอบว่าวัตถุสองชิ้นเป็น เท่ากับ . สำหรับชนิดข้อมูลดั้งเดิม จะให้ผลลัพธ์ที่ถูกต้อง

นอกจากนี้ คุณจะแทนที่วิธีเท่ากับใน Java อย่างไร ในคลาสโค้ดด้านบน Person มีเมธอดเท่ากับ () ที่ถูกแทนที่ ซึ่งใช้วิธีการทีละขั้นตอนต่อไปนี้:

  1. หากการอ้างอิงไปยังวัตถุนี้เหมือนกับการอ้างอิงไปยังวัตถุอาร์กิวเมนต์ ให้คืนค่า true
  2. ถ้าอาร์กิวเมนต์เป็น null ให้คืนค่า false
  3. หากอ็อบเจ็กต์ไม่ได้มาจากคลาสเดียวกัน ให้คืนค่า false

เหตุใดเราจึงต้องแทนที่วิธีเท่ากับใน Java

คลาสสตริง แทนที่ NS เท่ากับวิธีการ มันสืบทอดมาจากคลาสอ็อบเจ็กต์และตรรกะที่นำไปใช้เพื่อเปรียบเทียบอักขระอ็อบเจกต์สตริงทั้งสองทีละอักขระ เหตุผลที่ เท่ากับวิธีการ ในคลาส Object การอ้างอิงความเท่าเทียมกันนั้นเป็นเพราะไม่รู้ว่าจะทำอะไรอย่างอื่น

การแทนที่ hashCode และวิธีเท่ากับใน Java คืออะไร?

ถ้าคลาสแทนที่ เท่ากับ , มันต้อง แทนที่ hashCode . เมื่อพวกเขาทั้งสอง แทนที่ , เท่ากับ และ hashCode ต้อง ใช้ ฟิลด์ชุดเดียวกัน ถ้าสองวัตถุคือ เท่ากับ แล้วพวกเขา hashCode ค่าต้องเป็น เท่ากับ เช่นกัน. ถ้าวัตถุนั้นไม่เปลี่ยนรูปแล้ว hashCode เป็นตัวเลือกสำหรับการแคชและการเริ่มต้นแบบสันหลังยาว

แนะนำ: