Cum să comparați șirurile în java

Clasa de șir include mai multe metode prin care puteți compara linii complete și piese parte. Unele metode returnează valorile întregi, în timp ce altele - valori logice. Acest articol oferă modalități de a compara două rânduri diferite folosind diferite metode de clasă de clasă.

Pași

  1. Imagine intitulată 1817656 1
unu. Creați două obiecte de clasă de coarde. Cea mai ușoară modalitate de a declara două linii în Java este de a utiliza următorul cod. Șir anunță tipul de obiect. String1 și String2 sunt nume de șir. Cuvintele "hi" și "tată" sunt valori ale obiectelor de șir. Ori de câte ori compilatorul detectează valoarea inclusă în ghilimele, ea creează automat un șir.
String string1 = "Hei"-String șir2 = "Tată"-
  • Imagine intitulată 1817656 2
    2. Utilizați metoda logică StartSwith pentru a compara începutul rândului. Această metodă de clasă de coarde compară începutul șirului cu prefixul specificat (prefix). Aceasta este o metodă logică, deci returnează doar două valori: adevărat (adevăr) sau fals (minciună). Utilizați următorul cod și unul dintre liniile create. Codul trimis va returna ambele valori (TRUE și FALSE) și va afișa rezultatele pe ecran. Mai întâi returnați valoarea adevărată și apoi valoarea falsă.
    Sistem.Out.Println (String1.Incepe cu ("etc")) - // returnează TRUE și afișează TrueSystem.Out.Println (String1.Incepe cu ("Ma")) - // returnează fals și afișează fals
  • Imagine intitulată 1817656 3
    3. Utilizați metoda logică StartSwith (prefixul șirului, INT Offset). Această metodă de clasă de coarde verifică dacă prefixul specificat intră în șirul pornind de la indexul specificat (offset). Această metodă ignoră literele care sunt de până la un indice specificat. Codul prezentat va returna ambele valori (true și false). Vă rugăm să rețineți că numărarea literelor din linie începe cu 0. De exemplu, în cuvântul "salut" litera "p" - aceasta este 0, litera "p" este 1.
    Sistem.Out.Println (String1.Incepe cu ("vea", 3)) - // returnează adevărat și afișează TrueSystem.Out.Println (String1.Incepe cu ("vea", 1)) - // returnează fals și afișează fals
  • Imagine intitulată 1817656 4
    4. Utilizați metoda logică Endswitu pentru a compara sfârșitul liniei. Această metodă de clasă de coarde compară capătul șirului cu prefixul specificat (prefix). În acest caz, metoda este în căutarea prefixului specificat (pe baza lungimii acestuia), pornind de la capătul liniei. Codul trimis va returna ambele valori (TRUE și FALSE) și va afișa rezultatele pe ecran.
    Sistem.Out.Imprimare (String2.SE TERMINĂ CU ("CE")) - // returnează TRUE și afișează TrueSystem.Out.Imprimare (String1.SE TERMINĂ CU ("etc")) - // returnează fals și afișează fals
  • Imagine intitulată 1817656 5
    cinci. Utilizați metoda numerică comparat pentru a compara două linii. Comparați două rânduri cu șir1.Compară (String2) sau String2.Compară (șir1). Deoarece aceasta este o metodă numerică, întregul se întoarce. Dacă șirurile sunt identice (complet coincid), returnează 0- În caz contrar, numărul este returnat, diferit de 0. Următorul cod va demonstra o comparație a liniilor identice și non-identice și va afișa, de asemenea, rezultatele pe ecran.
    String string1 = "Hei"-String string2 = "Hei"-String string3 = "Tată"-Sistem.Out.Println (String1.Compară (String2)) - // va ieși 0, deoarece șirurile sunt identice.Out.Println (String1.Compară (string3) - // eliminați un număr întreg diferit de zero
  • sfaturi

    • Următorul cod poate fi utilizat în instrucțiunea condiționată pentru a afișa un mesaj de eroare dacă rândurile nu se potrivesc:
    Dacă (MyString1.Compară (MyString2) != 0) {sistem.Out.Println ("Greşeală! Siruri de caractere " + Mystring1 + " și " + Mystring2 + "nu se potriveste") -}
  • Pentru a compara doar două linii, este mai ușor să utilizați metoda .Egale ():
    String MyString1 = String nou ("Abc") -String2 = String nou ("Abc") -If (mystring1.Equals (MyString2)) {sistem.Out.Println ("Linii coincid") -}
    • Notă: În această situație, metoda (MyString1 == MyString2) va returna valoarea falsă (falsă). Chiar dacă liniile "ABC" sunt identice, MyString1 și MyString2 sunt două obiecte de clasă diferite. Operatorul "==" compară obiectele și metoda .Egale () compară valorile șirului.

    Avertizări

    • Nu comparați șiruri de caractere utilizând operatorul "==" (dacă nu știți ce faceți). Acest operator poate returna o valoare greșită, care va crește timpul de depanare a codului, mai ales dacă sunteți un programator începător.
    • Comparația a două rânduri zero folosind operatorul "==" va returna valoarea adevărată (adevărul) și compararea acelorași rânduri prin metodă .Este egal () va provoca o excepție.
    Publicații similare