Vonós összehasonlítás Kotlinban

1. Áttekintés

Ebben az oktatóanyagban az összehasonlítás különböző módjait fogjuk megvitatni Húrs Kotlinban.

2. Összehasonlító operátorok

Kezdjük a „==” operátorral.

Használhatjuk annak ellenőrzésére, hogy két húr szerkezetileg egyenlő-e. Ez egyenértékű a egyenlő módszer Java-ban:

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

Vizsgáljuk meg a „===” referenciaegyenlőségi operátort. Visszatér igaz ha a két változó ugyanarra az objektumra mutat. Ez egyenértékű a == Java használatával.

Valahányszor inicializálunk egy újat Húr objektum idézőjelek segítségével, automatikusan a karakterlánc-készletbe kerül. Ezért két így létrehozott egyenlő karakterlánc mindig ugyanarra az objektumra hivatkozik:

assertTrue {első === másodperc}

Ha azonban konstruktort használunk egy új létrehozásához Húr, kifejezetten elmondjuk Kotlinnak, hogy új objektumot akarunk. Következésképpen egy új Húr létrejön és felkerül a kupacra:

val harmadik = karakterlánc ("kotlin" .toCharArray ()) assertTrue {első == harmadik} assertFalse {első === harmadik}

3. Összehasonlítás a egyenlő

A egyenlő módszer ugyanazt az eredményt adja vissza, mint a “==” operátor:

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

Amikor meg akarjuk csinálni a eset-érzéketlen összehasonlítás, használhatjuk a egyenlő módszer és passz igaz a második opcionális paraméterhez ignoreCase:

assertTrue {first.equals (firstCapitalized, true)}

4. Összehasonlítás a összehasonlítani

Kotlinnak van egy összehasonlítani módszer, amellyel összehasonlíthatjuk a két húr sorrendjét. Hasonlóan, mint a egyenlő módszer, az összehasonlítani A módszer egy opcióval is jár ignoreCase érv:

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

A összehasonlítani A módszer egyenlő karakterláncok esetén nulla, pozitív értéket ad, ha az argumentum ASCII értéke kisebb, és negatív értéket, ha az argumentum ASCII értéke nagyobb. Oly módon, olvashatjuk, mint kivonást.

Az utolsó példában a ignoreCase érv, a két húr egyenlőnek tekinthető.

5. Következtetés

Ebben a gyors cikkben különböző módszereket láthattunk Kotlinban a húrok összehasonlítására néhány alapvető példával.

Mint mindig, kérjük, ellenőrizze az összes kódot a GitHubon.


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