Java String CompareTo() วิธีการคืออะไร?
คลาสสตริง Java CompareTo()วิธีการส่งกลับค่า 0 ถ้าทั้งสองสายมีความเท่าเทียมกันทางพจนานุกรม หากสตริงที่เปรียบเทียบมีพจนานุกรมมากกว่า ค่าบวกจะถูกส่งกลับ มิฉะนั้นจะส่งกลับค่าลบ ดังนั้นจึง ใช้เมธอดสตริง Java CompareTo() เพื่อเปรียบเทียบสองสตริง เมธอดนี้จะใช้ ค่ายูนิโค้ดของอักขระแต่ละตัวในสตริงเพื่อเปรียบเทียบเสมอ ขณะเปรียบเทียบสตริง หากมีสตริงว่าง จะส่งกลับความยาวของสตริงเสมอ หากสตริงใดว่างเปล่า ก็สามารถเล่นได้สองสถานการณ์ หากสตริงแรกว่างเปล่า จะส่งกลับค่าลบ มิฉะนั้นจะส่งกลับค่าบวก เมธอด Java string.compareTo()ตามค่าเริ่มต้นจะคำนึงถึงขนาดตัวพิมพ์ แต่เราสามารถใช้เมธอด Java String class comparisonToIgnoreCase()เพื่อละเว้นความละเอียดอ่อนของตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ระหว่างการเปรียบเทียบ วิธีนี้ยังส่งคืนค่าลบ 0 หรือจำนวนเต็มบวกตามที่อธิบายไว้ข้างต้นไวยากรณ์
public int compareTo(string str)
public int compareTo(object obj)
พารามิเตอร์
สตริง Java comparisonTo()วิธีการรับสตริงหรือวัตถุเป็นพารามิเตอร์ดังที่คุณเห็นด้านบนในรูปแบบไวยากรณ์การส่งคืน
- มันจะคืนค่า 0 หากทั้งสองมีค่าเท่ากันตามพจนานุกรม
- มันจะส่งคืนจำนวนเต็มบวกหากสตริงหรืออ็อบเจ็กต์ที่เปรียบเทียบนั้นมีพจนานุกรมมากกว่า
- จะส่งกลับจำนวนเต็มลบหากค่าใดค่าหนึ่งที่เปรียบเทียบมีขนาดเล็กกว่าตามพจนานุกรม
ข้อยกเว้น
วิธีการ CompareTo ()ส่งกลับข้อยกเว้น 2 รายการ- ClassCastExceptionหากไม่สามารถเปรียบเทียบวัตถุได้ ก็จะส่งคืนข้อยกเว้นนี้
- NullPointerExceptionถ้าสตริงเป็นโมฆะ NullPointerException จะถูกส่งออกไป
Java String CompareTo() ตัวอย่างวิธีการ
class Main {
public static void main(String[] args) {
// declaring strings to be used in this example for Java string compareTo() method
String str = "Java compareTo() method example";
String str1 = "Java compareTo() method example";
String str2 = "this is Java compareTo() method example";
String str3 = "Java CompareTo() Method Example";
String str4 = "a Java compareTo() method example";
String str5 = new String("Java compareTo() method example");
// comparing the str and str1 strings
System.out.println(str.compareTo(str1));
// comparing the str and str2 strings
System.out.println(str.compareTo(str2));
// comparing the str and str3 strings
System.out.println(str.compareTo(str3));
// comparing the str and str4 strings
System.out.println(str.compareTo(str4));
// comparing the str string and str5 string object
System.out.println(str.compareTo(str5));
}
}
เอาท์พุต
0 -42 74 -23 0
ดังที่เรารู้ว่า สตริง strและstr1เท่ากันในพจนานุกรม ดังนั้นมันจึงส่งกลับ 0 ในขณะที่เปรียบเทียบstrและstr2มันส่งคืนค่าลบ 42 เนื่องจากสตริงที่เปรียบเทียบstrมีขนาดเล็กกว่าในพจนานุกรม ดังนั้นจึงเป็นค่าลบและอยู่บนพื้นฐานของค่ายูนิโค้ด t char และ J char มีค่าความแตกต่าง 42 ดังนั้นจึงส่งกลับค่า -42 ส่วนที่เหลือคุณสามารถดูผลลัพธ์เพื่อทำความเข้าใจวิธีนี้ได้ดีขึ้น
ตัวอย่างสตริงว่าง
public class Main{
public static void main(String args[]){
String str="compareTo()";
// declaring an empty string
String str1="";
String str2="method";
System.out.println(str.compareTo(str1));
System.out.println(str1.compareTo(str2));
}
}
เอาท์พุต
11 -6
ตัวอย่างของ IgnoreCase
public class Main{
public static void main(String args[]){
String str="compareTo()";
// declaring the same string with uppercase letters
String str1="COMPARETO()";
System.out.println(str.compareTo(str1));
System.out.println(str.compareToIgnoreCase(str1));
}
}
เอาท์พุต
32 0
GO TO FULL VERSION