compareTo()
اینجا با «مقایسه رشته با compareTo» آشنا می شوی. مقایسه لغوی یعنی سنجش بر پایه عدد یونیکد هر نویسه. همچنین «نویسه (Character)» یک حرف یا علامت است. سپس نتیجه یک عدد برمی گردد.
تعریف ساده compareTo
طبق منبع، متد compareTo() دو رشته را لغوی مقایسه می کند. نتیجه صفر یعنی برابرند. نتیجه منفی یعنی رشته اول کوچک تر است. نتیجه مثبت یعنی رشته اول بزرگ تر است.
مثال ساده از منبع
public class Main {
public static void main(String[] args) {
String myStr1 = "Hello";
String myStr2 = "Hello";
System.out.println(myStr1.compareTo(myStr2));
}
}
خروجی چه معنی دارد؟
- صفر: دو رشته دقیقاً برابرند.
- کمتر از صفر: رشته اول کوچک تر است.
- بزرگ تر از صفر: رشته اول بزرگ تر است.
مقایسه بر اساس مقدار یونیکد نویسه ها انجام می شود.
سینتکس های موجود
public int compareTo(String string2)
public int compareTo(Object object)
نکته ها و جایگزین ها
نکته: برای نادیده گرفتن تفاوت حروف کوچک وبزرگ از compareToIgnoreCase() استفاده کن.
نکته: اگر فقط برابری مهم است، از equals() کمک بگیر.
فهرست کامل متدهای رشته را در متدهای رشته ببین. همچنین لینک مقایسه رشته compareTo را نگه دار.
تمرین سه مرحله ای
- دو رشته متفاوت بساز و چاپ کن.
- با compareTo() مقایسه کن.
- رشته ها را تغییر بده و خروجی ها را بررسی کن.
جمع بندی سریع
- صفر یعنی برابر.
- منفی یعنی کوچک تر.
- مثبت یعنی بزرگ تر.
- مبنای مقایسه یونیکد است.
- برای حروف، ignoreCase را بسنج.