Cum de a compara siruri de caractere în deversorul java stivă în limba rusă

Operatorul == compară referință.

este egală cu metoda compară valorile.

Prin urmare, dacă doriți să comparați siruri de caractere pentru egalitate, utilizare este egal.

Cu toate acestea, în unele cazuri, șirul este garantat pentru a fi prezentat cu același obiect prin bazinul de linii (string interning). Aceste cazuri descrise în mod clar în caietul de sarcini limbajul Java.

Operatorul == este folosit pentru a verifica dacă cele două linii sunt orientate spre același obiect.

Trebuie remarcat faptul că == mult mai rapid decât equals (link-uri comparație solicitând în schimb și caracterul prin compararea caracterului, în cazul în care siruri de caractere de diferite lungimi), cu toate acestea, dacă executați șir de la piscina (sau sistemul sau lor) substituția este egal cu cel == poate duce la o accelerare marcată. Dar acest lucru se întâmplă foarte rar.

Feriți-vă de apel este egal cu zero. Operatorul == compară șiruri perfect, în cazul în care una sau mai multe dintre ele este nulă. dar apelul este egal cu metoda pe linia egală cu zero. va duce la excludere.

Pentru a compara siruri de caractere care pot fi egale cu null. puteți utiliza următoarea metodă:

Este prezent în unele biblioteci terță parte, de exemplu, Apache Commons.

Dacă utilizați medii de dezvoltare moderne, avertizează ei, dacă încercați să comparați cu siruri de caractere ==. Acordați întotdeauna atenție acestor avertismente.

Poate că, dacă în loc de „Cu toate acestea, în unele cazuri, linia este garantat să fie reprezentat de unul și același obiect,«cum ar fi»In unele cazuri, comparatii peste == poate da rezultatul corect (a se vedea. Internau cu privire la detaliile), dar nu se poate baza pe ea, dacă nu înțelege în mod clar, ceea ce faci. „? - Vladd 17 aprilie '15, la 15:23