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.