متد ()compareToIgnoreCase شبیه متد ()compareTo یک String(رشته) را از نظر لغوی مقایسه میکند. تنها تفاوت آنها این است که متد ()compareToIgnoreCase هنگام مقایسه دو String(رشته) حروف بزرگ(uppercase) یا کوچک(lowercase) را نادیده میگیرد. به عبارت دیگر حروف بزرگ یا کوچک تاثیری در مقایسه دو رشته از طریق متد()compareToIgnoreCase ندارد.
این متد همانند متد ()compareTo دو String(رشته) را بر اساس ارزش مقدار یونیکد(Unicode) هر کاراکتر(character) مقایسه میکند.
هر کاراکتر یک مقدار عددی دارد که به آن یونیکد(Unicode) میگویند.
مثلا یونیکد کاراکتر 'a' برابر 97، کاراکتر 'A' برابر 65 است.خب حروف کوچک و بزرگ در مقایسه دو رشته با هم از طریق ()compareTo تاثیر گذار است:
فرض کنید دو رشته s1 و s2 داشته باشیم:
String s1="AA";
String s2="aa";
همان طور که مشاهده میکنید هر دو رشته s1 و s2 دارای دو حرف مشابه میباشند با این تفاوت که S1 دارای حروف A بزرگ و S2 دارای حروف a کوچک میباشند.
اگر دو رشته s1 وs2 را با متد ()compareTo مقایسه کنید رشته s1 کوچک تر رشته s2 است چرا که یونیکد حروف a برابر 97 و یونیکد حرف A برابر 65 است.
حال اگر دو رشته S1 و S2 را از طریق متد ()compareToIgnoreCase باهم مقایسه کنید، چون حروف بزرگ یا کوچک کاراکترهای هر دو رشته در مقایسه این متد تاثیری ندارد، هر دو رشته S1 و S2 باهم برابر خواهند بود.
• یونیکد هر کاراکتر در هر زبان برنامه نویسی ثابت است، برای دانستن یونیکدهای هر کاراکتر اینجا کلیک کنید.
وقتی دو رشته با هم برابر باشند متد ()compareToIgnoreCase مقدار 0 را برمی گرداند در غیر اینصورت اگر رشته اول بزرگتر از رشته دوم بود مقدار مثبت یا اگر رشته اول کوچک تر از رشته دوم بود مقدار منفی را برمی گرداند.
int compareToIgnoreCase(String str)
مثال: در مثال زیر ما سه لیترال های (String (String literals داریم، که دارای مقدارهای یکسان اما کاراکترها از نظر حروف کوچک و بزرگ متفاوت هستند.
همه کاراکترهای string1 بزرگ(uppercase) هستند.
همه کاراکترهای string2 کوچک(lowercase) هستند.
و رشته string3 ترکیبی از حروف بزرگ و کوچک است.
قراره با متد ()compareToIgnoreCase این سه رشته را با هم مقایسه کنیم.
package javaike ; public class CompareExample { public static void main(String args[]) {
String string1 = "HELLO";
String string2 = "hello";
String string3 = "Hello"; intvar1 = string1.compareToIgnoreCase(string2);
System.out. print ln("string1 and string2 comparison: " + var1);
int var3 = string1.compareToIgnoreCase("HeLLo");
System.out. print ln("string1 and HeLLo comparison: " + var3);
}
}
خروجی(Output):
string1 and string2 comparison: 0
string1 and string3 comparison: 0
string1 and HeLLo comparison: 0
پیروز و موفق باشید
این جلسه آموزشی را میتوانید بصورت کتاب الکترونیکی (PDF شده) در لینک زیر دریافت کنید.
این جلسه آموزشی را بصورت کامل و مرتب شده در لینک زیر دانلود کنید:(در صورت خرابی لینک گزارش دهید)
لینک دانلودباز نشر این مطلب تنها بصورت PDF و با ذکر منبع (لینک سایت) بلامانع است. برای با خبر شدن از جدیدترین مطالب آموزشی جاوا عضو کانال تلگرام ما شوید.