Usporedba žica u Kotlinu
1. Pregled
U ovom uputstvu razgovarat ćemo o različitim načinima usporedbe Nizs u Kotlinu.
2. Operatori usporedbe
Počnimo s operatorom "==".
Pomoću nje možemo provjeriti jesu li dva niza strukturno jednaka. To je ekvivalent korištenju jednako metoda u Javi:
val prvi = "kotlin" val drugi = "kotlin" val firstCapitalized = "KOTLIN" assertTrue {first == second} assertFalse {first == firstCapitalized}
Sada, razmotrimo referentni operator jednakosti “===”. Vraća se pravi ako dvije varijable upućuju na isti objekt. To je ekvivalent korištenju == u Javi.
Kad god inicijaliziramo novo Niz objekt pomoću navodnika, automatski se smješta u spremište nizova. Stoga će se dva jednaka niza stvorena na taj način uvijek pozivati na isti objekt:
assertTrue {prva === druga}
Međutim, ako koristimo konstruktor za stvaranje novog Niz, izričito kažemo Kotlinu da želimo novi objekt. Slijedom toga, novi Niz će se stvoriti i staviti na hrpu:
val treći = String ("kotlin" .toCharArray ()) assertTrue {first == third} assertFalse {first === third}
3. Usporedba s jednako
The jednako metoda vraća isti rezultat kao i “==” operater:
assertTrue {first.equals (second)} assertFalse {first.equals (firstCapitalized)}
Kada želimo napraviti a usporedbu bez velikih i malih slova, možemo koristiti jednako metoda i proći pravi za drugi neobavezni parametar ignoreCase:
assertTrue {first.equals (firstCapitalized, true)}
4. Usporedba s usporediTo
Kotlin također ima a usporediTo metoda kojom se možemo usporediti redoslijed dviju žica. Slično kao i jednako metoda, usporediTo metoda također dolazi s opcijom ignoreCase argument:
assertTrue {first.compareTo (second) == 0} assertTrue {first.compareTo (firstCapitalized) == 32} assertTrue {firstCapitalized.compareTo (first) == -32} assertTrue {first.compareTo (firstCapitalized, true) == 0 }
The usporediTo metoda vraća nulu za jednake nizove, pozitivnu vrijednost ako je ASCII vrijednost argumenta manja, i negativnu vrijednost ako je ASCII vrijednost argumenta veća. Na neki način, možemo ga čitati kao da čitamo oduzimanje.
U posljednjem primjeru, zbog ignoreCase argument, dvije se žice smatraju jednakim.
5. Zaključak
U ovom kratkom članku vidjeli smo različite načine usporedbe žica u Kotlinu koristeći neke osnovne primjere.
Kao i uvijek, provjerite sav kod na GitHub-u.