คำถามติดแท็ก equals

หมายถึงวิธี Java เท่ากับซึ่งระบุว่าวัตถุบางอย่าง "เท่ากับ" วัตถุนี้หรือไม่

30
จะกำหนดความเท่าเทียมกันสำหรับวัตถุ JavaScript สองตัวได้อย่างไร
ตัวดำเนินการความเสมอภาคที่เข้มงวดจะบอกคุณว่าประเภทของวัตถุสองชนิดเท่ากันหรือไม่ อย่างไรก็ตามมีวิธีที่จะบอกได้หรือไม่ว่าวัตถุทั้งสองนั้นมีค่าเท่ากันเหมือนกับค่ารหัสแฮชใน Java หรือไม่ คำถาม Stack Overflow มีฟังก์ชั่น hashCode ใน JavaScript หรือไม่? คล้ายกับคำถามนี้ แต่ต้องการคำตอบเชิงวิชาการเพิ่มเติม สถานการณ์ดังกล่าวข้างต้นแสดงให้เห็นว่าทำไมมันจำเป็นจะต้องมีหนึ่งและฉันสงสัยว่าถ้ามีวิธีการแก้ปัญหาเทียบเท่า

11
ปัญหาใดที่ควรพิจารณาเมื่อลบล้างเท่ากับและ hashCode ใน Java
คำตอบของคำถามนี้เป็นความพยายามของชุมชน แก้ไขคำตอบที่มีอยู่เพื่อปรับปรุงโพสต์นี้ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ จะต้องพิจารณาประเด็น / ข้อผิดพลาดใดบ้างเมื่อเอาชนะequalsและhashCode?

17
ความแตกต่าง C # ระหว่าง == และเท่ากับ ()
ฉันมีเงื่อนไขในการประยุกต์ใช้ Silverlight ที่เปรียบเทียบ 2 สายด้วยเหตุผลบางอย่างเมื่อผมใช้==มันกลับผิดพลาดในขณะที่.Equals()ผลตอบแทนที่แท้จริง นี่คือรหัส: if (((ListBoxItem)lstBaseMenu.SelectedItem).Content.Equals("Energy Attack")) { // Execute code } if (((ListBoxItem)lstBaseMenu.SelectedItem).Content == "Energy Attack") { // Execute code } มีเหตุผลอะไรที่ทำให้สิ่งนี้เกิดขึ้น?
548 c#  .net  equals 

4
สร้างเอนทิตี JPA ที่สมบูรณ์แบบ [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา ฉันได้ทำงานกับ JPA (Implementation Hibernate) มาระยะหนึ่งและทุกครั้งที่ฉันต้องสร้างเอนทิตีฉันพบว่าตัวเองกำลังดิ้นรนกับปัญหาเช่น AccessType, คุณสมบัติที่ไม่เปลี่ยนรูปแบบ, เท่ากับ / hashCode, ... ดังนั้นฉันจึงตัดสินใจลองและหาแนวทางปฏิบัติที่ดีที่สุดโดยทั่วไปสำหรับแต่ละประเด็นแล้วจดบันทึกนี้ไว้ใช้ส่วนตัว ฉันจะไม่รังเกียจอย่างไรก็ตามสำหรับทุกคนที่จะแสดงความคิดเห็นหรือบอกฉันว่าฉันผิด คลาสเอนทิตี ใช้ Serializable เหตุผล: ข้อกำหนดระบุว่าคุณต้องทำ แต่ผู้ให้บริการ JPA บางรายไม่บังคับใช้ Hibernate ในฐานะผู้ให้บริการ JPA ไม่ได้บังคับใช้สิ่งนี้ แต่สามารถล้มเหลวได้บางส่วนในท้องของมันด้วย ClassCastException หาก Serializable ไม่ได้ถูกนำมาใช้ ก่อสร้าง สร้างตัวสร้างที่มีฟิลด์ที่จำเป็นทั้งหมดของเอนทิตี เหตุผล: คอนสตรัคควรปล่อยให้อินสแตนซ์ที่สร้างในสถานะที่มีเหตุผล นอกเหนือจากตัวสร้างนี้: มีตัวสร้างค่าเริ่มต้นส่วนตัวของแพคเกจ เหตุผล: ตัวสร้างเริ่มต้นจะต้องมีการไฮเบอร์เนตเริ่มต้นเอนทิตี; ส่วนตัวได้รับอนุญาต แต่จำเป็นต้องมีการเปิดเผยแพคเกจส่วนตัว (หรือสาธารณะ) สำหรับการสร้างรันไทม์พร็อกซีและการดึงข้อมูลที่มีประสิทธิภาพโดยไม่ต้องใช้เครื่องมือ bytecode …
422 java  hibernate  jpa  equals 

29
ทำไมฉันต้องแทนที่เมธอด equals และ hashCode ใน Java
เมื่อเร็ว ๆ นี้ฉันอ่านเอกสารสำหรับนักพัฒนานี้ นี้ เอกสารทั้งหมดเกี่ยวกับการกำหนดhashCode()และequals()มีประสิทธิภาพและถูกต้อง แต่ฉันไม่สามารถคิดออกว่าทำไมเราต้องแทนที่ทั้งสองวิธี ฉันจะตัดสินใจใช้วิธีการเหล่านี้อย่างมีประสิทธิภาพได้อย่างไร
383 java  equals  hashcode 

23
รับองค์ประกอบจากชุด
เหตุใดจึงไม่มีSetการดำเนินการเพื่อให้ได้องค์ประกอบที่เท่ากับอีกองค์ประกอบหนึ่ง Set<Foo> set = ...; ... Foo foo = new Foo(1, 2, 3); Foo bar = set.get(foo); // get the Foo element from the Set that equals foo ฉันสามารถถามได้ว่าSetมีองค์ประกอบเท่ากับbarหรือไม่ทำไมฉันจึงไม่สามารถรับองค์ประกอบนั้นได้ :( เพื่อชี้แจงequalsวิธีการที่ถูกแทนที่ แต่มันจะตรวจสอบเพียงหนึ่งในเขตข้อมูลไม่ได้ทั้งหมด ดังนั้นFooวัตถุสองชิ้นที่ถือว่าเท่ากันอาจมีค่าแตกต่างกันนั่นคือสาเหตุที่ฉันไม่สามารถใช้งานfooได้
323 java  collections  set  equals 


15
เท่ากับ (=) กับ LIKE
เมื่อใช้ SQL จะมีประโยชน์ใด ๆ ของการใช้=ในWHEREประโยคแทนLIKE? ไม่มีผู้ประกอบการพิเศษใด ๆLIKEและ=เหมือนกันใช่มั้ย

4
ความแตกต่างระหว่าง IEquatable และเพียงแค่เอาชนะ Object.Equals () คืออะไร?
ฉันต้องการของฉันระดับเพื่อให้สามารถทดสอบเมื่อใดก็ตามที่มีค่าเท่ากับอินสแตนซ์ของผู้อื่นFood Foodฉันจะใช้มันในภายหลังกับรายการและฉันต้องการใช้List.Contains()วิธีของมัน ฉันควรจะใช้IEquatable<Food>หรือเพียงแค่แทนที่Object.Equals()? จาก MSDN: วิธีนี้จะกำหนดความเท่าเทียมกันโดยใช้การเปรียบเทียบความเท่าเทียมกันเริ่มต้นตามที่กำหนดโดยการใช้งานของวัตถุของวิธีการ IEquatable.Equals สำหรับ T (ชนิดของค่าในรายการ) ดังนั้นคำถามต่อไปของฉันคือ: ฟังก์ชัน / คลาสใดของกรอบงาน. NET ใช้ประโยชน์จากObject.Equals()อะไร? ฉันควรใช้มันตั้งแต่แรกไหม?
185 c#  .net  equals  equality  iequatable 

11
เหตุผลใดที่จะชอบ getClass () มากกว่า instanceof เมื่อสร้าง. equals ()?
ฉันกำลังใช้ Eclipse เพื่อสร้าง.equals()และ.hashCode()มีตัวเลือกที่มีข้อความว่า "ใช้ 'อินสแตนซ์ของ' เพื่อเปรียบเทียบประเภท" ค่าเริ่มต้นสำหรับตัวเลือกนี้จะไม่ถูกตรวจสอบและใช้.getClass()เพื่อเปรียบเทียบประเภท มีเหตุผลใด ๆ ที่ฉันจะชอบ.getClass()มากกว่าinstanceof? โดยไม่ต้องใช้instanceof: if (obj == null) return false; if (getClass() != obj.getClass()) return false; การใช้instanceof: if (obj == null) return false; if (!(obj instanceof MyClass)) return false; ฉันมักจะตรวจสอบinstanceofตัวเลือกจากนั้นเข้าไปข้างในและลบเครื่องหมาย " if (obj == null)" (มันซ้ำซ้อนเนื่องจากวัตถุ null จะล้มเหลวเสมอinstanceof) มีเหตุผลใดบ้างที่เป็นความคิดที่ไม่ดี?

27
จะตรวจสอบได้อย่างไรว่าสตริงของฉันเท่ากับโมฆะ?
ฉันต้องการดำเนินการบางอย่างเฉพาะในกรณีที่สตริงของฉันมีค่าที่มีความหมาย ดังนั้นฉันจึงลองทำสิ่งนี้ if (!myString.equals("")) { doSomething } และนี่ if (!myString.equals(null)) { doSomething } และนี่ if ( (!myString.equals("")) && (!myString.equals(null))) { doSomething } และนี่ if ( (!myString.equals("")) && (myString!=null)) { doSomething } และนี่ if ( myString.length()>0) { doSomething } และในทุกกรณีโปรแกรมของฉันdoSomethingทั้งๆที่ความจริงที่ว่าสตริงของฉันว่างเปล่า nullมันเท่ากับ ดังนั้นมีอะไรผิดปกติกับที่? เพิ่ม: ฉันพบสาเหตุของปัญหา ตัวแปรถูกประกาศเป็นสตริงและด้วยเหตุนี้การnullกำหนดให้กับตัวแปรนี้จึงถูกเปลี่ยนเป็น"null"! ดังนั้นใช้if (!myString.equals("null"))งานได้

4
BigDecimal เท่ากับ () และ CompareTo ()
พิจารณาคลาสทดสอบอย่างง่าย: import java.math.BigDecimal; /** * @author The Elite Gentleman * */ public class Main { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub BigDecimal x = new BigDecimal("1"); BigDecimal y = new BigDecimal("1.00"); System.out.println(x.equals(y)); System.out.println(x.compareTo(y) == 0 ? "true": "false"); } } …

8
Apache Commons เท่ากับ / hashCode builder [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน3 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันอยากจะรู้ว่าสิ่งที่ผู้คนที่นี่คิดเกี่ยวกับการใช้ org.apache.commons.lang.builder EqualsBuilder/ HashCodeBuilder สำหรับการดำเนินการequals/ hashCode? มันจะเป็นการปฏิบัติที่ดีกว่าการเขียนของคุณเอง? เล่นกับไฮเบอร์เนตได้ดีหรือไม่? ความคิดเห็นของคุณคืออะไร


20
ความแตกต่างระหว่างสตริง Java กับ null (“”)
ความแตกต่างระหว่างnullและ""(สตริงว่าง) คืออะไร? ฉันได้เขียนโค้ดง่ายๆ String a = ""; String b = null; System.out.println(a == b); // false System.out.println(a.equals(b)); // false falseงบทั้งสองกลับ ดูเหมือนว่าฉันไม่สามารถค้นหาความแตกต่างที่แท้จริงระหว่างพวกเขาได้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.