آموزش متد compareTo در جاوا
سلام دوستان و توسعه دهندگان در این سری از آموزش برنامه نویسی جاوا به آموزش متد compareTo در جاوا می پردازیم از متد compareTo برای مقایسه دو رشته از نظر لغوی (lexicographically) استفاده می شود در متد compareTo هر دو رشته به Unicode تبدیل شده سپس مقایسه می شود در ادامه با ما همراه باشید تا نحوه استفاده از متد compareTo یاد گیرید.
ابتدا مثل همیشه Syntax متد compareTo را مورد بررسی قرار میدهم.
1 2 | int compareTo(String str) int compareTo(Object obj) |
در بالا به دوشکل مختلف می توانید از این متد استفاده کنید خروجی این متد در هر دو صورت به صورت int خواهد بود اگر مقایسه به درستی انجام پذیر مقدار 0 برخواهد گشت و در غیر اینصورت عدد منفی برخواهد گشت.
در ادامه به یک مثال کاربری خواهیم پرداخت یک کلاس به نام CompareToExample ایجاد کنید و کدهای زیر را در آن قرار دهید.
1 2 3 4 5 6 7 8 9 10 11 12 13 | public class CompareToExample { public static void main(String args[]) { String str1 = "String method tutorial"; String str2 = "compareTo method example"; String str3 = "String method tutorial"; int var1 = str1.compareTo( str2 ); System.out.println("str1 & str2 comparison: "+var1); int var2 = str1.compareTo( str3 ); System.out.println("str1 & str3 comparison: "+var2); int var3 = str2.compareTo("compareTo method example"); System.out.println("str2 & string argument comparison: "+var3); } } |
در بالا سه رشته داریم که دو رشته از آن هیچ تفاوتی با یک دیگر ندارند سپس از متد compareTo استفاده کردیم و مقدار خروجی آن را در یک متغیر از نوع int قرار دادیم و در نهایت آن را چاپ کردیم. مقایسه نیز به صورت ساده انجام شده است.
می توانید خروجی کد بالا در زیر مشاهده کنید.
1 2 3 | str1 & str2 comparison: -16 str1 & str3 comparison: 0 str2 & string argument comparison: 0 |
یک مثال دیگر برای اینکه مطلب بهتر درک شود.
1 2 3 4 5 6 7 8 | public class Test { public static void main(String args[]) { Integer x = 5; System.out.println(x.compareTo(3)); System.out.println(x.compareTo(5)); System.out.println(x.compareTo(8)); } } |
خروجی کد بالا همانند زیر خواهد بود.
1 2 | 1 -1 |
همانطور که گفتیم خروجی مفنی به منزله این است که عمل مقاسه درست نبوده است.
این آموزش هم به پایان رسید.
موفق و پیروز باشید.