เราสามารถเปรียบเทียบสตริงใน Java ได้หลายวิธี -
-
การใช้เมธอด copareTo() − compareTo() วิธีเปรียบเทียบสองสายอักขระ lexicographically การเปรียบเทียบจะขึ้นอยู่กับค่า Unicode ของอักขระแต่ละตัวในสตริง ลำดับอักขระที่แสดงโดยอ็อบเจ็กต์สตริงนี้จะถูกเปรียบเทียบเชิงศัพท์กับลำดับอักขระที่แสดงโดยสตริงอาร์กิวเมนต์
ตัวอย่าง
<ก่อน>นำเข้า java.util.Scanner; คลาสสาธารณะ StringComparison { โมฆะสาธารณะหลัก (สตริง [] args) { Scanner sc =สแกนเนอร์ใหม่ (System.in); System.out.println("ป้อน string1:"); สตริง str1 =sc.next(); System.out.println("ป้อน string2:"); สตริง str2 =sc.next(); ผลลัพธ์ int =str1.compareTo(str2); ถ้า (ผลลัพธ์ <0) { System.out.println ("str1 ไม่เท่ากับ str2"); } else if (ผลลัพธ์ ==0) { System.out.println ("str1 เท่ากับ str2"); } อื่น { System.out.println ("str1 ไม่เท่ากับ str2"); } }}ผลลัพธ์1
ป้อน string1:HelloEnter string2:Hellostr1 เท่ากับ str2
ผลลัพธ์2
ป้อน string1:helloEnter string2:histr1 ไม่เท่ากับ str2
-
การใช้ตัวดำเนินการ == − คุณสามารถเปรียบเทียบสองสตริงโดยใช้ตัวดำเนินการ ==แต่จะเปรียบเทียบการอ้างอิงของตัวแปรที่กำหนดไม่ใช่ค่า
ตัวอย่าง
<ก่อน>นำเข้า java.util.Scanner; คลาสสาธารณะ StringComparison { โมฆะสาธารณะหลัก (สตริง [] args) { Scanner sc =สแกนเนอร์ใหม่ (System.in); สตริง str1 ="สวัสดี"; สตริง str2 ="สวัสดี"; if (str1 ==str2 ){ System.out.println("ทั้งสองมีค่าเท่ากัน"); } อื่น { System.out.println ("ทั้งสองไม่เท่ากัน"); } }}ผลลัพธ์
เท่ากัน
-
ใช้ equals() method - ของคลาส String ยอมรับ String เป็นพารามิเตอร์และเปรียบเทียบสตริงปัจจุบันกับวัตถุที่ระบุ ผลลัพธ์จะเป็นจริงก็ต่อเมื่ออาร์กิวเมนต์ไม่เป็นโมฆะและเป็นอ็อบเจ็กต์ String ที่แสดงลำดับอักขระเดียวกันกับอ็อบเจ็กต์นี้รวมถึงตัวพิมพ์เล็กด้วย
ตัวอย่าง
<ก่อน>นำเข้า java.util.Scanner; คลาสสาธารณะ StringComparison { โมฆะสาธารณะหลัก (สตริง [] args) { Scanner sc =สแกนเนอร์ใหม่ (System.in); System.out.println("ป้อน string1:"); สตริง str1 =sc.next(); System.out.println("ป้อน string2:"); สตริง str2 =sc.next(); บูลีนบูล =str1.equals(str2); if (bool) { System.out.println ("ทั้งสองมีค่าเท่ากัน"); } อื่น { System.out.println ("ทั้งสองไม่เท่ากัน"); } }}ผลลัพธ์1
Enter string1:HelloEnter string2:helloBoth ไม่เท่ากัน
ผลลัพธ์2
ป้อน string1:HelloEnter string2:HelloBoth เท่ากัน
ตัวพิมพ์เล็กและตัวพิมพ์ใหญ่เปรียบเทียบสตริง
equalsIgnoreCase() เมธอดของคลาส String นั้นคล้ายกับเมธอด equals() ความแตกต่างหากวิธีนี้เปรียบเทียบสตริงที่กำหนดกับกรณีปัจจุบันที่ละเว้น
ตัวอย่าง
<ก่อน>นำเข้า java.util.Scanner; คลาสสาธารณะ StringComparison { โมฆะสาธารณะหลัก (สตริง [] args) { Scanner sc =สแกนเนอร์ใหม่ (System.in); System.out.println("ป้อน string1:"); สตริง str1 =sc.next(); System.out.println("ป้อน string2:"); สตริง str2 =sc.next(); บูลีนบูล =str1.equalsIgnoreCase(str2); if (bool) { System.out.println ("ทั้งสองมีค่าเท่ากัน"); } อื่น { System.out.println ("ทั้งสองไม่เท่ากัน"); } }}ผลลัพธ์1
Enter string1:HelloEnter string2:helloBoth เท่ากัน