مقایسه دو رشته با هم در جاوا
در این بخش می خواهیم مقایسه دو رشته با هم را بررسی کنیم. (هنگام مقایسه، جاوا از مقادیر هگزادسیمال به جای خود حروف استفاده می کند). برای مثال اگر بخواهید کلمه “Ape” را با کلمه “App” مقایسه کنید باید از متد compareTo استفاده کنید. با هم یک مثال را بررسی می کنیم:
کد زیر را در بنویسید و نتیجه را مشاهده کنید:
در کد بالا از دو متغیر رشته استفاده کرده ایم که با “Ape” و “App” مقدار دهی شده اند. به قسمتی که از compareTo استفاده کرده ایم دقت کنید:
result = Word1.compareTo( Word2 );
متد compareTo یک مقدار بر می گرداند. مقداری که برمی گرداند طبیعتا یا برابر با صفر، یا بزرگتر و یا کوچکتر است. یک فرهنگ لغت را در نظر بگیرید که لغات درون آن به ترتیب نوشته می شوند، حال در این متد اگر رشته ای که درون پرانتز متد قرار می گیرد (Word2)، بزگتر از رشته بیرون از متد (Word1) باشد، نتیجه متد کوچکتر از ۰ خواهد بود و اگر رشته ها یکی باشند نتیجه ۰ خواهد بود و اگر کوچکتر از رشته بیرون از متد باشد، نتیجه مقایسه بزگتر از ۰ خواهد بود.
ما نتیجه را در کد بالا درون متغیر result ذخیره کرده ایم، قسمت IF هم به سادگی مقدار درون result را چک می کند. چون جاوا برای مقایسه دو رشته هنگام استفاده از متد compareTo از مقادیر هگزادسیمال استفاده می کند و حروف بزرگ در هگز، کوچکتر از حروف کوچک هستند، بنابر این کلمه App قبل از ape قرار خواهد گرفت.
برای تمرین و درک بهتر مطلب، خودتان کلمات و حروف هایی رو بنویسید و نتیجه مقایسه را ببینید.
حال اگر بخواهیم در هنگام مقایسه، بزرگی و کوچکی حروف اهمیت نداشته باشد، می توانیم از متد compareToIgnoreCase استفاده کنیم. همانطور که از نام این متد مشخص است حروف کوچک و بزرگ در این متد یکی در نظر گرفته می شوند یعنی در مقایسه App و ape، این بار ape قبل از App قرار خواهد گرفت.