השוואת מיתרים בקוטלין

1. סקירה כללית

במדריך זה נדון בדרכי השוואה שונות חוּטבקוטלין.

2. מפעילי השוואה

נתחיל במפעיל "==".

אנו יכולים להשתמש בו כדי לבדוק אם שני מחרוזות שווים מבנית. זה המקבילה לשימוש ב- שווים שיטה בג'אווה:

val first = "kotlin" val second = "kotlin" val firstCapitalized = "KOTLIN" assertTrue {first == second} assertFalse {first == firstCapitalized}

עכשיו, בואו ניקח בחשבון את אופרטור השוויון ההפניה "===". זה חוזר נָכוֹן אם שני המשתנים מצביעים על אותו אובייקט. זה המקבילה לשימוש ב- == ב- Java.

בכל פעם שאנחנו מאתחלים חדש חוּט אובייקט באמצעות מרכאות, הוא ממוקם באופן אוטומטי במאגר המיתרים. לכן, שני מחרוזות שוות שנוצרו כך תמיד יתייחסו לאותו אובייקט:

assertTrue {first === second}

עם זאת, אם נשתמש בבנאי ליצור חדש חוּט, אנו אומרים במפורש לקוטלין שאנחנו רוצים אובייקט חדש. כתוצאה מכך, חדש חוּט ייווצר ויונח על הערמה:

val שלישי = מחרוזת ("kotlin" .toCharArray ()) assertTrue {first == third} assertFalse {first === third}

3. להשוות עם שווים

ה שווים שיטה מחזירה את אותה התוצאה כמו “==” מַפעִיל:

assertTrue {first.equals (second)} assertFalse {first.equals (firstCapitalized)}

כשאנחנו רוצים לעשות א בהשוואה שאיננה תלויה-רישיות, אנו יכולים להשתמש ב- שווים שיטה ולעבור נָכוֹן לפרמטר האופציונלי השני התעלם ממקרה:

assertTrue {first.equals (firstCapitalized, true)}

4. להשוות עם בהשוואה ל

לקוטלין יש גם בהשוואה ל שיטה בה נוכל להשוות את הסדר של שני המיתרים. באופן דומה ל- שווים השיטה, בהשוואה ל השיטה מגיעה גם עם אופציונלי התעלם ממקרה טַעֲנָה:

assertTrue {first.compareTo (second) == 0} assertTrue {first.compareTo (firstCapitalized) == 32} assertTrue {firstCapitalized.compareTo (first) == -32} assertTrue {first.compareTo (firstCapitalized, true) == 0 }

ה בהשוואה ל השיטה מחזירה אפס למחרוזות שוות, ערך חיובי אם ערך ASCII של הארגומנט קטן יותר, וערך שלילי אם ערך ASCII של הארגומנט גדול יותר. בדרך, אנחנו יכולים לקרוא את זה כמו שאנחנו קוראים חיסור.

בדוגמה האחרונה, עקב התעלם ממקרה טַעֲנָה, שני המיתרים נחשבים שווים.

5. מסקנה

במאמר מהיר זה, ראינו דרכים שונות להשוות מיתרים בקוטלין תוך שימוש בכמה דוגמאות בסיסיות.

כמו תמיד, אנא בדוק את כל הקוד ב- GitHub.


$config[zx-auto] not found$config[zx-overlay] not found