มาดูตัวอย่างก่อน:
การคัดลอกรหัสมีดังนี้:
แพ็คเกจ com.amos;
-
* @className: EqualTest
* @description: การเปรียบเทียบความเท่าเทียมและ == ใน java
* @author: Amosli
-
ชั้นเรียนสาธารณะที่เท่าเทียมกัน {
โมฆะคงที่สาธารณะหลัก (สตริง [] args) {
int a = 1;
ลอย b = 1.0f;
System.out.println (a == b); // true
สตริง c = สตริงใหม่ ("hi_amos");
สตริง d = สตริงใหม่ ("hi_amos");
System.out.println (c == d); // false
System.out.println (C.Equals (d)); // true
-
-
มีสองวิธีหลักในการตัดสินว่าตัวแปรสองตัวเท่ากันใน Java: หนึ่งคือการใช้ตัวดำเนินการ == และอีกตัวแปรหนึ่งคือการใช้วิธี Equals เพื่อตรวจสอบว่าทั้งสองเหมือนกันหรือไม่
1) ตัวแปรสองตัวเท่ากันจริงจะถูกส่งกลับ
2)
ดังที่ได้กล่าวไว้ข้างต้นเมื่อมีการอธิบายสตริงใหม่เดียวกัน == กำหนดว่าจะส่งคืนเท็จเดียวกันหรือไม่ในขณะที่เท่ากับผลตอบแทนจริง
คลาสสตริงที่กำหนดเป้าหมายโดยวิธี Equals ตรวจสอบซอร์สโค้ดและคุณสามารถพบว่าเท่ากับสามารถถือได้ว่าเป็นกรณีพิเศษของ ==
การคัดลอกรหัสมีดังนี้:
บูลีนสาธารณะเท่ากับ (Object Anobject) {
if (this == anobject) {
กลับมาจริง;
-
if (anObject instressof string) {
String anotherTring = (String) Anobject;
int n = value.length;
if (n == anotherstring.value.length) {
ถ่าน v1 [] = ค่า;
ถ่าน v2 [] = anotherstring.value;
int i = 0;
ในขณะที่ (n--! = 0) {
ถ้า (v1 [i]! = v2 [i])
กลับเท็จ;
i ++;
-
กลับมาจริง;
-
-
กลับเท็จ;
-
วิธีการเท่ากับจริงเรียกสูตรการจำแนก == ตั้งแต่ต้นจากนั้นกำหนดว่าค่าเพิ่มเติมนั้นถูกต้องหรือไม่