روش جاوا String compareTo() چیست؟
اگر هر دو رشته از نظر لغوی با هم برابر باشند، متد compareTo() کلاس رشته جاوا مقدار 0 را برمیگرداند. اگر رشته مقایسه شده از نظر واژگانی بزرگتر باشد، مقدار مثبت برگردانده می شود در غیر این صورت مقدار منفی برگردانده می شود. بنابراین از متد compareTo() رشته جاوا برای مقایسه دو رشته استفاده می شود. مقدار یونیکد هر کاراکتر در رشته همیشه توسط این روش برای مقایسه آنها استفاده می شود. هنگام مقایسه رشته ها، اگر هر یک از آنها خالی باشد، همیشه طول رشته را برمی گرداند. اگر هر یک از رشته ها خالی باشد، دو سناریو می توانند اجرا شوند. اگر رشته اول خالی باشد مقدار منفی و در غیر این صورت مقدار مثبت برمی گرداند. متد Java string.compareTo () به طور پیشفرض به حروف کوچک و بزرگ حساس است، اما میتوانیم از متد () compareToIgnoreCase کلاس Java String برای نادیده گرفتن حساسیت حروف بزرگ و کوچک در طول مقایسه استفاده کنیم. این روش همچنین یک عدد صحیح منفی، 0 یا مثبت را همانطور که در بالا توضیح داده شد برمی گرداند.نحو
public int compareTo(string str)
public int compareTo(object obj)
مولفه های
متد compareTo() رشته جاوا یک رشته یا یک شی را به عنوان پارامتر دریافت می کند که در بالا در نحو مشاهده می کنید.برمی گرداند
- اگر هر دو از نظر واژگانی برابر باشند 0 برمی گرداند.
- اگر رشته یا شیء مقایسه شده از نظر واژگانی بزرگتر باشد، عدد صحیح مثبت را برمی گرداند.
- اگر یکی از موارد مقایسه شده از نظر لغوی کوچکتر باشد، عدد صحیح منفی را برمی گرداند.
استثناها
متد compareTo () 2 استثنا را برمی گرداند.- ClassCastException ، اگر شیء قابل مقایسه نباشد، این استثنا را برمی گرداند.
- NullPointerException ، اگر رشته null باشد، NullPointerException پرتاب می شود.
مثال های روش compareTo() String جاوا
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 را برمی گردیم، زیرا رشته مقایسه شده از نظر لغوی کوچکتر است، بنابراین یک منفی است و بر اساس مقدار یونیکد 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