ใน java ทั้ง ==และเท่ากับ () ใช้เพื่อตรวจสอบความเท่าเทียมกันของสองตัวแปรหรือวัตถุ
ต่อไปนี้เป็นข้อแตกต่างที่สำคัญระหว่างวิธี ==และเท่ากับ ()
ซีเนียร์ ไม่. | Key | == | equals() method |
---|---|---|---|
1 | ประเภท | ==เป็นโอเปอเรเตอร์ | equals() เป็นวิธีการของคลาส Object |
2 | การเปรียบเทียบ | ==ควรใช้ระหว่างการเปรียบเทียบข้อมูลอ้างอิง ==ตรวจสอบว่าการอ้างอิงทั้งสองชี้ไปยังตำแหน่งเดียวกันหรือไม่ | equals() ควรใช้สำหรับการเปรียบเทียบเนื้อหา วิธีเท่ากับ () ประเมินเนื้อหาเพื่อตรวจสอบความเท่าเทียมกัน |
2 | วัตถุ | ==โอเปอเรเตอร์ไม่สามารถแทนที่ได้ | equals() หากไม่มีอยู่และใช้วิธี Object.equals() มิฉะนั้นสามารถแทนที่ได้ |
ตัวอย่างของ ==เทียบกับวิธีเท่ากับ
JavaTester.java
public class JavaTester { public static void main(String args[]) { String s1 = new String("TUTORIALSPOINT"); String s2 = new String("TUTORIALSPOINT"); //Reference comparison System.out.println(s1 == s2); //Content comparison System.out.println(s1.equals(s2)); // integer-type System.out.println(10 == 10); // char-type System.out.println('a' == 'a'); } }
ผลลัพธ์
false true true true