ใน 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