Comparați în șiruri de caractere Java

Clasa String din Java conține mai multe metode de comparare a șirurilor complete și a părților de șiruri de caractere. Unele dintre aceste metode returnează valori întregi în timp ce altele returnează valori booleene. Acest tutorial vă arată mai multe moduri de a compara două șiruri diferite utilizând diferite metode de clasă String.

metodă

Imagine cu denumirea 1817656 1
1
Creați două obiecte șir. Cea mai simplă modalitate de a declara două șiruri în Java este să utilizați următorul cod. "String" este declararea tipului de obiect. string1 și string2 sunt numele pentru fiecare șir. Cuvintele "salut" și "tată" sunt în esență valorile acestor obiecte șir. Ori de câte ori compilatorul dvs. recunoaște ghilimele, acesta creează automat un șir.
String string1 = "salut" string string2 = "tată" -
  • Imagine cu denumirea 1817656 2
    2
    Utilizați boolean startsWith (prefixul String) pentru a compara începutul șirurilor. Această metodă a clasei String compară începutul unui șir cu ceea ce introduceți în metodă. Fiind o metodă booleană, aceasta se întoarce fie adevărată, fie falsă. Utilizați următorul cod și unul dintre șirurile dvs. generate anterior. Următorul cod vă arată un exemplu de caz adevărat și fals. De asemenea, el dă un mesaj cu rezultatul. Rezultatul ar trebui să fie adevărat și apoi fals.
    System.out.println (string1.startsWith ( "el")) - // returnează true și returnează true ausSystem.out.println (string1.startsWith ( "mo")) - // returnează false și rezultate false
  • Imagine cu denumirea 1817656 3
    3
    Utilizați boolean startsWith (prefixul String, int offset). Această metodă de clasă String compară un șir cu ceea ce introduceți ca prefix la punctul din șir care este determinat de valoarea offset. Această metodă ignoră literele din șirul care se află în fața valorii offset. Următorul cod vă arată un exemplu de caz adevărat și fals. Rețineți că numărarea literelor din șir începe de la 0. De exemplu, în cuvântul "hello", "h" este în poziția 0 și "e" în loc 1.
    System.out.println (string1.startsWith ( "lo", 3)) - // returnează true și returnează true ausSystem.out.println (string1.startsWith ( "lo", 1)) - // returnează false și se întoarce fals


  • Imagine cu denumirea 1817656 4
    4
    Utilizați capete booleene Cu (prefixul String) pentru a compara sfârșitul șirurilor. Aceasta compară sfârșitul șirului cu ceea ce introduceți în metodă. Pe baza valorii lungimii prefixului de șir, metoda numără această valoare înapoi în șirul de comparat. Pentru un exemplu de adevărat și de fals, consultați următorul cod. De asemenea, codul va afișa rezultatul comparației.
    System.out.print (string2.endsWith ("ei")) - // returneaza true si returneaza trueSystem.out.print (string1.endsWith ("el")) - // returneaza false si returneaza false
  • Image cu denumirea 1817656 5
    5
    Utilizați int compareTo (String anotherString) pentru a compara două șiruri de caractere. Efectuați o comparație a celor două șiruri folosind string1.compareTo (string2) sau string2.compareTo (string1). Deoarece metoda este de tip integer, metoda returnează un număr. Dacă acestea sunt egale, numărul returnat este 0. Următorul cod arată un exemplu de caz egal și inegal. De asemenea, codul va scoate rezultatul în sistem.
    String șir1 = "hello" string string2 = "hello" String3 string = "tată" -System.out.println (string1.compareTo (string2)) - // întoarce `0`, pentru că ambele la fel de sindSystem.out. println (string1.compareTo (String3) - // este o altă valoare întreagă, alta decât 0 din
  • Sfaturi

    • Puteți folosi acest lucru într-o instrucțiune cu o condiție de a imprima un mesaj de eroare dacă șirurile nu se potrivesc:
      în cazul în care ((myString1.compareTo myString2) = 0!) {System.out.println ( "eroare Șirurile!" + myString1 + "și" + myString2 + "nu se potrivesc") -}
    • Dacă doriți doar să verificați dacă două șiruri sunt aceleași, puteți găsi mai ușor metoda .equals ():
      String myString1 = new String ( "abc") - String myString2 = new String ( "abc") - în cazul în care ((myString1.equals myString2)) {System.out.println ( "Cele două șiruri sunt egale") -}
      • NOTĂ: (myString1 == myString2) ar reveni de fapt FALSE în această situație. Chiar dacă șirurile "abc" sunt aceleași, myString1 și myString2 sunt două instanțe diferite ale String. Operatorul "==" compară obiectele, în timp ce metoda ".equals ()" compară valorile șirurilor.

    avertismente

    • Nu încercați să comparați șirurile cu o verificare simplă ==, decât dacă știți ce faceți. Este posibil ca acest lucru nu se întoarce rezultatul așteptat și poate prelungi timpul de depanare în mod semnificativ, mai ales dacă nu sunteți un om cu experiență programatori Java.
    • Compararea a două șiruri nule cu „==“ operatorul returnează TRUE, în timpul compararea a două șiruri nule emite o excepție cu .equals ().
    Distribuiți pe rețelele sociale:

    înrudit