در این آموزش با کمک مثال هایی با متد compareTo()
در جاوا آشنا می شویم.
متد compareTo()
دو رشته را از نظر لغوی (به ترتیب فرهنگ لغت) مقایسه می کند. مقایسه بر اساس مقدار یونیکد هر کاراکتر در رشته ها انجام می شود.
مثال
class Main {
public static void main(String[] args) {
String str1 = "Learn Java";
String str2 = "Learn Kolin";
int result;
// comparing str1 with str2
result = str1.compareTo(str2);
System.out.println(result);
}
}
// Output: -1
سینتکس compareTo()
سینتکس متد compareTo()
به صورت زیر است:
string.compareTo(String str)
در اینجا اینجا، string یک شی از کلاس String
است.
پارامترهای compareTo()
متد compareTo()
یک پارامتر واحد می گیرد.
- str – رشته ای که باید مقایسه شود
مقدار بازگشتی compareTo()
- اگر رشته ها مساوی باشند 0 را برمی گرداند
- اگر در ترتیب فرهنگ لغت
string
قبل از آرگومانstr
بیاید ، یک عدد صحیح منفی برمی گرداند - اگر در ترتیب فرهنگ لغت
string
بعد از آرگومانstr
بیاید ، یک عدد صحیح مثبت برمی گرداند
مثال: متد compareTo()
در جاوا
class Main {
public static void main(String[] args) {
String str1 = "Learn Java";
String str2 = "Learn Java";
String str3 = "Learn Kolin";
int result;
// comparing str1 with str2
result = str1.compareTo(str2);
System.out.println(result); // 0
// comparing str1 with str3
result = str1.compareTo(str3);
System.out.println(result); // -1
// comparing str3 with str1
result = str3.compareTo(str1);
System.out.println(result); // 1
}
}
در اینجا،
- str1 و str2برابر هستند. بنابراین،
str1.compareTo(str2)
مقدار 0 را برمی گرداند. - در ترتیب حروف الفبا str1 پیش از str3 بنابراین،
str1.compareTo(str3)
یک مقدار منفی را برمیگرداند وstr3.compareTo(str1)
یک مقدار مثبت را برمیگرداند.
مثال 2: بررسی اینکه آیا دو رشته برابر هستند یا خیر
class Main {
public static void main(String[] args) {
String str1 = "Learn Python";
String str2 = "Learn Java";
// if str1 and str2 are equal, the result is 0
if (str1.compareTo(str2) == 0) {
System.out.println("str1 and str2 are equal");
}
else {
System.out.println("str1 and str2 are not equal");
}
}
}
خروجی
str1 and str2 are not equal
مثال 3: compareTo() با بزرگی و کوچکی حروف
متد compareTo()
به کوچکی و بزرگی حروف حساس است.
class Main {
public static void main(String[] args) {
String str1 = "Learn Java";
String str2 = "learn Java";
int result;
// comparing str1 with str2
result = str1.compareTo(str2);
System.out.println(result); // -32
}
}
وقتی "Learn Java"
با مقایسه می شود "learn Java"
مقدار 0 برگردانده نمی شود. چرا که متد compareTo()
به کوچکی و بزرگی حروف حساس است و حرف بزرگ قبل از حرف کوچک می آید. در نتیجه یک مقدار منفی برگردانده می شود.
یادداشت:
- اگر نیاز به مقایسه دو رشته ای دارید که می خواهید به حروف بزرگ و کوچک حساس نباشد، از متد ()compareToIgnoreCase استفاده کنید.
- اگر مقدار
null
به متدcompareTo()
ارسال شود با خطا مواجه می شوید.
دیدگاهها