מהי שיטת Java String compareTo()?
שיטת ה-java string class compareTo() מחזירה את הערך 0 אם שתי המחרוזות שוות מבחינה לקסיקוגרפית. אם המחרוזת בהשוואה גדולה יותר מבחינה לקסיקוגרפית אז הערך החיובי מוחזר אחרת הערך השלילי מוחזר. אז שיטת Java string compareTo() משמשת להשוואה בין שתי מחרוזות. ערך ה- unicode של כל תו במחרוזת משמש תמיד בשיטה זו כדי להשוות ביניהם. בזמן השוואת המחרוזות, אם אחת מהן ריקה, היא תמיד מחזירה את אורך המחרוזת. אם אחד מהמיתרים ריק, אז שני תרחישים יכולים להתנגן. אם המחרוזת הראשונה ריקה אז היא מחזירה ערך שלילי, אחרת היא מחזירה ערך חיובי. השיטה Java string.compareTo() כברירת מחדל היא תלוית רישיות, אך אנו יכולים להשתמש בשיטה Java String class compareToIgnoreCase() כדי להתעלם מרגישות רישיות במהלך ההשוואה. שיטה זו מחזירה גם מספר שלילי, 0 או שלם חיובי כמתואר לעיל.תחביר
public int compareTo(string str)
public int compareTo(object obj)
פרמטרים
שיטת Java string compareTo() מקבלת מחרוזת או אובייקט כפרמטר כפי שניתן לראות למעלה בתחביר.החזרות
- הוא מחזיר 0 אם שניהם שווים מבחינה לקסיקוגרפית.
- הוא מחזיר מספר שלם חיובי אם המחרוזת או האובייקט בהשוואה גדולים יותר מבחינה לקסיקוגרפית.
- הוא מחזיר מספר שלם שלילי אם אחד מההשוואות קטן יותר מבחינה לקסיקוגרפית.
חריגים
השיטה compareTo() מחזירה 2 חריגים.- ClassCastException , אם לא ניתן להשוות את האובייקט אז הוא מחזיר את החריג הזה.
- NullPointerException , אם המחרוזת היא null אז 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 קטנה יותר מבחינה לקסיקוגרפית אז זה שלילי ועל בסיס ערך Unicode 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