Ako porovnať struny v java
Trieda String obsahuje niekoľko metód, pomocou ktorých môžete porovnať všetky riadky a časti časti. Niektoré metódy sa vrátia celé hodnoty, zatiaľ čo iné - logické hodnoty. Tento článok poskytuje spôsoby, ako porovnať dva rôzne riadky pomocou rôznych spôsobov reťazca triedy.
Kroky
jeden. Vytvorte dve objekty triedy String. Najjednoduchší spôsob, ako vyhlásiť dva riadky v jazyku Java, je použitie nasledujúceho kódu. Reťazec oznamuje typ objektu. String1 a String2 sú názvy reťazcov. Slová "hi" a "otec" sú hodnoty reťazcov predmetov. Kedykoľvek kompilátor zistí hodnotu uzavretú v citáciách, automaticky vytvorí reťazec.
String String1 = "Hej"-String String2 = "otec"-

2. Použite metódu Startswith Logic na porovnanie začiatku riadku. Táto metóda triedy reťazca porovnáva začiatok reťazca so zadanou predponou (prefix). Toto je logická metóda, takže vráti iba dve hodnoty: TRUE (pravda) alebo FALSE (LIE). Použite nasledujúci kód a jeden z vytvorených riadkov. Predložený kód vráti obe hodnoty (true a false) a zobrazí výsledky na obrazovke. Najprv vráti hodnotu True a potom hodnotu FALSE.
Systém.Von.PrintLN (String1.Začína s ("atď")) - // vráti TRUE a displeji TrueSystem.Von.PrintLN (String1.Začína s ("Ma")) - // vráti false a zobrazuje falošné

3. Použite Logickú metódu Startswith (prefix reťazca, Offit). Táto metóda triedy reťazca kontroluje, či zadaná predpona vstupuje na reťazec, ktorý sa začína zo zadaného indexu (ofset). Táto metóda ignoruje písmená, ktoré sú na určenom indexe. Predložený kód vráti obe hodnoty (pravdivé a nepravdivé). Upozorňujeme, že počítanie písmen v riadku začína 0. Napríklad v slove "ahoj" písmeno "p" - to je 0, písmeno "p" je 1.
Systém.Von.PrintLN (String1.Začína s ("venovať", 3)) - // vráti TRUE a zobrazuje TRUESYSTEM.Von.PrintLN (String1.Začína s ("venovať", 1)) - // vráti false a zobrazuje falošné

4. Použite metódu logickej endswitu na porovnanie konca riadku. Táto metóda triedy reťazca porovnáva koniec reťazca so zadanou predponou (prefix). V tomto prípade sa metóda hľadá špecifikovanú predponu (na základe jeho dĺžky), počnúc od konca riadku. Predložený kód vráti obe hodnoty (true a false) a zobrazí výsledky na obrazovke.
Systém.Von.Tlačiť (string2.Endswith ("Ec")) - // vráti TRUE a displeji TrueSystem.Von.Tlač (string1.Endswith ("atď")) - // vráti false a zobrazuje falošné

päť. Použite porovnávaciu metódu na porovnanie dvoch riadkov. Porovnajte dva riadky s reťazcom1.Porovnávacie (String2) alebo String2.Porovnanie (string1). Keďže ide o numerickú metódu, celé číslo sa vracia. Ak sú reťazce identické (úplne zhodné), vráti sa 0- inak sa číslo vráti, odlišné od 0. Nasledujúci kód preukáže porovnanie identických a nevýchodných línií a zobrazí tiež výsledky na obrazovke.
String String1 = "Hej"-String String2 = "Hej"-String String3 = "otec"-Systém.Von.PrintLN (String1.Porovnanie (string2)) - // bude 0, pretože struny sú identické.Von.PrintLN (String1.Porovnanie (string3) - // Odstrániť celé číslo odlišné od nuly
Tipy
- V podmienenom vyhlásení sa môže použiť nasledujúci kód, aby sa zobrazili chybové hlásenie, ak riadia sa nezhodujú:
IF (MYSTRING1.Porovnanie (MYSTRING2) != 0) {systém.Von.PrintLN ("Chyba! Reťazce " + Mystring1 + " a " + Mystring2 + "nezhodujú") -}
String mystring1 = nový reťazec ("Bradavica") -String mySTRING2 = Nový reťazec ("Bradavica") -Ak (mystring1.Rovná (mystring2)) {systém.Von.PrintLN ("Riadky sa zhodujú") -}
- Poznámka: V tejto situácii spôsob (MYSTRING1 == MYSTRING2) vráti hodnotu FALSE (FALSE). Aj keď čiary "ABC" sú identické, Mystring1 a Mystring2 sú dve rôzne objekty triedy. Operátor "==" porovnáva objekty a spôsob .Rovná () porovnáva hodnoty reťazcov.
Upozornenia
- Nevyhľadávajte reťazce pomocou operátora "==" (ak neviete, čo robíte). Tento operátor môže vrátiť nesprávnu hodnotu, ktorá zvýši čas ladenia kódu, najmä ak ste programátor začiatočníkov.
- Porovnanie dvoch nulových radov pomocou operátora "==" vráti hodnotu true (pravdu) a porovnanie rovnakých riadkov podľa metódy .Rovná () spôsobí výnimku.