5 tapaa verrata kahta merkkijonoa Javassa



Tässä artikkelissa keskitymme kahden Java-merkkijonon vertaamiseen sopiviin esimerkkeihin ja näemme, kuinka se palvelee merkkijonojen manipulointia eri tarkoituksissa.

Merkkijonon manipulointi voi olla valtava apu eri aloilla. Se voi auttaa tekstianalytiikka , tietojen vastaavuus, tiedonlouhinta jne. Tässä artikkelissa keskitymme vertailemaan kahta Java-merkkijonoa, jotka taas ovat eri tarkoituksia merkkijonojen manipulointiin. Seuraavassa on viitteitä, joista keskustellaan täällä

Joten aloitetaan sitten,





Kahden Java-merkkijonon vertailu

Merkkijono voidaan määritellä merkkijonoksi. Ne ovat muuttumattomia, toisin sanoen niitä ei voida muuttaa, kun ne on luotu. On olemassa useita tapoja verrata kahta merkkijonoa jaavassa, kuten alla näkyy.

Merkkijono on yhtä suuri kuin menetelmä

Merkkijonoja verrataan merkkijonossa olevien arvojen perusteella. Menetelmä palauttaa arvon tosi, jos kahden merkkijonon arvot ovat samat, ja epätosi, jos arvot eivät täsmää.



public class Main {public static void main (String args []) {String str1 = new String ('Rock') String str2 = new String ('Roll') String str3 = new String ('rock') String str4 = uusi merkkijono ('Rock') Merkkijono str5 = uusi merkkijono ('Roll') // verrataan merkkijonoja System.out.println ('Vertaamalla' + str1 + 'ja' + str2 + ':' + str1.equals (str2)) Järjestelmä .out.println ('Vertaamalla' + str3 + 'ja' + str4 + ':' + str3.equals (str4)) System.out.println ('Vertaamalla' + str4 + 'ja' + str5 + ':' + str4.equals (str5)) System.out.println ('Vertaamalla' + str1 + 'ja' + str4 + ':' + str1.equals (str4))}}

Tuotos:

Rock and Rollin vertaaminen: väärä

Rockin ja Rockin vertaaminen: väärä



apache kipinä verrattuna hadoop mapreduce

Rock and Rollin vertaaminen: väärä

Rockin ja Rockin vertaaminen: totta

Jatka sitten tämän artikkelin toista bittiä,

Merkkijono on yhtä suuri kuin Ohita tapaus

Tämä menetelmä vertaa kahta merkkijonoa, eikä siinä oteta huomioon merkkijonon kirjainta (alempi tai ylempi). Palauttaa arvon tosi, jos arvot ovat samat eikä nollia.

public class Main {public static void main (String args []) {String str1 = new String ('Rock') String str2 = new String ('Roll') String str3 = new String ('rock') String str4 = uusi merkkijono ('Rock') Merkkijono str5 = uusi merkkijono ('Roll') // Merkkijonojen vertailu System.out.println ('Vertaaminen' + str1 + 'ja' + str2 + ':' + str1.equalsIgnoreCase (str2)) -järjestelmä. out.println ('Vertaamalla' + str3 + 'ja' + str4 + ':' + str3.equalsIgnoreCase (str4)) System.out.println ('Vertaamalla' + str4 + 'ja' + str5 + ':' + str4 .equalsIgnoreCase (str5)) System.out.println ('Vertaamalla' + str1 + 'ja' + str4 + ':' + str1.equalsIgnoreCase (str4))}}

Tuotos:

Rock and Rollin vertaaminen: väärä

Rockin ja Rockin vertaaminen: totta

Rock and Rollin vertaaminen: väärä

Rockin ja Rockin vertaaminen: totta

Siirrytään eteenpäin tämän seuraavan bitin kanssa vertaamalla kahta Java-artikkelin merkkijonoa,

Object Equals -menetelmä

Jos argumentit ovat yhtä suuret keskenään, menetelmä palauttaa arvon true, muuten se palauttaa arvon false. Jos molemmat läsnä olevat argumentit ovat nollia, palautettu tulos on tosi. Jos yhdellä argumentilla on nolla-arvo, palautettu lähtö on väärä.

tuo java.util. * public class Main {public static void main (String args []) {String str1 = new String ('Rock') String str2 = new String ('Roll') String str3 = new String ('Roll') ) String str4 = null String str5 = null System.out.println ('Vertaamalla' + str1 + 'ja' + str2 + ':' + Objects.equals (str1, str2)) System.out.println ('Vertaamalla' + str2 + 'ja' + str3 + ':' + Objects.equals (str2, str3)) System.out.println ('Vertaamalla' + str1 + 'ja' + str4 + ':' + Objects.equals (str1, str4 )) System.out.println ('Vertaamalla' + str4 + 'ja' + str5 + ':' + Objects.equals (str4, str5))}}

Tuotos:

Rock and Rollin vertaaminen: väärä

Rullan ja rullan vertailu: totta

Rockin ja nullin vertaaminen: väärä

Verrattaessa null ja null: true

Siirrytään nyt pidemmälle

Merkkijono vertaa menetelmään

Tässä menetelmässä syötemerkkijonoja verrataan toisiinsa. Vertailun jälkeen palautettu arvo on seuraava:

  • jos (str1> str2), positiivinen arvo palautetaan.
  • Jos (str1 == str2), palautetaan 0.
  • Jos (str1

Koodi

tuo java.util. * public class Main {public static void main (String args []) {String str1 = new String ('Rock') String str2 = new String ('Pop') String str3 = new String ('Roll') ) Merkkijono str4 = uusi merkkijono ('Roll') System.out.println ('Vertaamalla' + str1 + 'ja' + str2 + ':' + str1.compareTo (str2)) // Merkkijono 3 = Merkkijono 4 järjestelmä out.println ('Vertaamalla' + str3 + 'ja' + str4 + ':' + str3.compareTo (str4)) System.out.println ('Vertaamalla' + str2 + 'ja' + str4 + ':' + str2 .vertailu (str4))}}

Tuotos:

kuinka välttää umpikujasta java

Rockin ja popin vertaaminen: 2

Rullan ja rullan vertailu: 0

Vertaamalla pop and roll: -2

Tämä tuo meidät viimeiseen bittiin vertaamalla Java-artikkelin kahta merkkijonoa,

Double Equal To Operator -toiminnon käyttö

Tätä menetelmää tulisi välttää verrattaessa kahta merkkijonoa. Suurimmat erot operaattorin equals () ja == välillä ovat seuraavat:

  • Vaikka equals () on menetelmä, == on operaattori.

  • == -operaattoria käytetään vertailussa, kun taas toisaalta equals () -menetelmää käytetään sisällön vertailuun.

== operaattoria vältetään, koska se tarkistaa viitteiden tasa-arvon, ts. jos merkkijonot osoittavat samaan kohteeseen vai eivät.

Koodi

kuinka asentaa php Windows 10
tuo java.util. * public class Main {public static void main (String [] args) {String str1 = uusi String ('Rock') String str2 = uusi String ('Rock') System.out.println (str1 == str2) System.out.println (str1.equals (str2))}}

Tuotos:

väärä

totta

Artikkelissa mainitut menetelmät tarjoavat huolellisen tavan verrata kahta merkkijonoa Java-ohjelmointikielellä.

Siksi olemme päässeet tämän artikkelin 'Kohdejoukot Java-sovellukseen' loppuun. Jos haluat oppia lisää, tutustu Edureka, luotettava verkko-oppimisyritys. Edurekan Java J2EE- ja SOA-koulutus- ja sertifiointikurssit on suunniteltu kouluttamaan sekä ydin- että edistyneitä Java-konsepteja sekä erilaisia ​​Java-kehyksiä, kuten Hibernate & Spring.

Onko sinulla kysymys meille? Mainitse se tämän artikkelin kommenttiosassa ja otamme sinuun yhteyttä mahdollisimman pian.