Jak porovnat řetězce v javě

Třída řetězce obsahuje několik metod, kterým můžete porovnat plné čáry a díly dílů. Některé metody vrátit celé hodnoty, zatímco jiné - logické hodnoty. Tento článek poskytuje způsoby porovnání dvou různých řádků pomocí různých metod třídy.

Kroky

  1. Obrázek s názvem 1817656 1
jeden. Vytvořte dva objekty třídy řetězce. Nejjednodušší způsob, jak deklarovat dva řádky v Javě, je použít následující kód. Řetězec oznamuje typ objektu. String1 a String2 jsou názvy řetězců. Slova "hi" a "otec" jsou hodnoty smyčcových objektů. Kdykoliv kompilátor detekuje hodnotu uzavřenou v uvozovkách, automaticky vytvoří řetězec.
String String1 = "HI" -String String2 = "otec"-
  • Obrázek s názvem 1817656 2
    2. Chcete-li porovnat začátek řádku pomocí logické metody StartSwith. Tato metoda třídy řetězce porovnává začátek řetězce se zadanou předponou (prefix). Jedná se o logickou metodu, takže vrací pouze dvě hodnoty: TRUE (PRAVDA) nebo FALSE (LIE). Použijte následující kód a jeden z vytvořených řádků. Předložený kód vrátí obě hodnoty (true a false) a zobrazí výsledky na obrazovce. Nejprve vrátit hodnotu true, a pak hodnotu false.
    Systém.Ven.PrintLN (String1.Startswith ("pr") - // vrací true a zobrazuje treesystem.Ven.PrintLN (String1.Startswith ("ma") - // vrátí false a zobrazuje false
  • Obrázek s názvem 1817656 3
    3. Použijte metodu Logic StartSwith (Prefix řetězec, INT OFFSET). Tato metoda třídy řetězce kontroluje, zda zadaná předpona vstupuje do řetězce od zadaného indexu (posun). Tato metoda ignoruje písmena, která jsou na určeném indexu. Prezentovaný kód vrátí obě hodnoty (true a false). Upozorňujeme, že počítání písmen v řádku začíná 0. Například ve slově "Hello" písmeno "P" - to je 0, písmeno "P" je 1.
    Systém.Ven.PrintLn (String1.Startswith ("ve, 3)) - // vrátí true a zobrazuje trueSystem.Ven.PrintLn (String1.Startswith ("ve, 1)) - // vrátí false a zobrazuje false
  • Obrázek s názvem 1817656 4
    4. Pomocí metody endswitu logiky porovnání konce řádku. Tato metoda třídy řetězce porovnává konec řetězce se zadanou předponou (předponu). V tomto případě je metoda hledá zadanou předponu (na základě jeho délky), počínaje koncem řádku. Předložený kód vrátí obě hodnoty (true a false) a zobrazí výsledky na obrazovce.
    Systém.Ven.Tisk (String2.Endswith ("EC")) - // vrátí true a zobrazuje trueSystem.Ven.Tisk (String1.Endswith ("pr)) - // vrátí false a zobrazuje false
  • Obrázek s názvem 1817656 5
    Pět. Pro porovnání dvou řádků použijte kompareto numerickou metodu. Porovnejte dvě řádky s řetězec1.Porovnání (String2) nebo String2.Porovnání (String1). Protože se jedná o numerickou metodu, celé číslo se vrátí. Pokud jsou řetězce identické (zcela shodné), vrátí 0. V opačném případě je číslo vráceno, liší od 0. Následující kód demonstruje porovnání identických a neidentických řádků a zobrazí také výsledky na obrazovce.
    String String1 = "Hi" -String String2 = "HI" -String String3 = "otec" -System.Ven.PrintLn (String1.Porovnání (String2)) - // Will 0, protože řetězce jsou identické.Ven.PrintLn (String1.Porovnání (String3) - // Odstraňte celé číslo odlišné od nuly
  • Tipy

    • Následující kód lze použít v podmínkách podmíněného zobrazení chybové zprávy, pokud řádky neodpovídají:
    If (mystring1.Porovnání (mystring2) != 0) {SYSTEM.Ven.PrintLn (Chyba)! Řádky "+ mystring1 +" a "+ mystring2 +" neodpovídají ") -}
  • Chcete-li jen porovnat dva řádky, je snazší použít metodu .Se rovná ():
    String MyString1 = Nový řetězec ("ABC") - String MyString2 = Nový řetězec ("ABC") - IF (MyString1.Rovná (mystring2)) {SYSTEM.Ven.PrintLn ("řádky shodují") -}
    • Poznámka: V této situaci bude metoda (mystring1 == mystring2) vrátit hodnotu false (false). I když jsou řádky "ABC" identické, MyString1 a MyString2 jsou dvě různé objekty řetězců třídy. Operátor "==" porovnává objekty a metodu .Rovná () porovnává hodnoty řetězců.

    Varování

    • Srovnejte řetězce pomocí operátora "==" (pokud nevíte, co děláte). Tento operátor může vrátit nesprávnou hodnotu, která zvýší čas ladění kódu, zejména pokud jste programátor pro začátečníky.
    • Porovnání dvou nulových řádků pomocí operátora "==" vrátí hodnotu true (pravdu) a porovnání stejných řádků metodou .Rovná () způsobí výjimku.
    Podobné publikace