Merkkijono on merkkijono. Javassa merkkijonon objektit ovat muuttumattomia, mikä tarkoittaa, että ne ovat vakioita eikä niitä voi muuttaa luomisen jälkeen.
bash merkkijonon pituus
Javan merkkijonojen vertailumenetelmät
Alla on 5 tapaa verrata kahta jouset Javassa:
- Käyttää käyttäjän määrittämää toimintoa
- String.equals()
- String.equalsIgnoreCase()
- Objects.equals()
- String.compareTo()
1. Käyttäen käyttäjän määrittämää toimintoa:
Määrittele funktio, joka vertaa arvoja seuraaviin ehtoihin:
- jos (merkkijono1> merkkijono2) se palauttaa a positiivinen arvo .
- jos molemmat merkkijonot ovat leksikografisesti samanlaisia, eli (merkkijono1 == merkkijono2), se palauttaa 0 .
- jos (merkkijono1
negatiivinen arvo .
2. String.equals():n käyttäminen:
Javassa string equals() -menetelmä vertaa kahta annettua merkkijonoa merkkijonon tietojen/sisällön perusteella. Jos molempien merkkijonojen sisältö on sama, se palauttaa tosi. Jos jokin merkki ei täsmää, se palauttaa epätosi.
Syntaksi:
str1.equals(str2);>
Tässä str1 ja str2 ovat molemmat merkkijonoja, joita on verrattava.
Esimerkkejä:
Input 1: techcodeview.com Input 2: Practice Output: false Input 1: Geeks Input 2: Geeks Output: true Input 1: geeks Input 2: Geeks Output: false>
Ohjelmoida:
Java
// Java program to Compare two strings // lexicographically public class GFG { public static void main(String args[]) { String string1 = new String('Geeksforgeeks'); String string2 = new String('Practice'); String string3 = new String('Geeks'); String string4 = new String('Geeks'); String string5 = new String('geeks'); // Comparing for String 1 != String 2 System.out.println('Comparing ' + string1 + ' and ' + string2 + ' : ' + string1.equals(string2)); // Comparing for String 3 = String 4 System.out.println('Comparing ' + string3 + ' and ' + string4 + ' : ' + string3.equals(string4)); // Comparing for String 4 != String 5 System.out.println('Comparing ' + string4 + ' and ' + string5 + ' : ' + string4.equals(string5)); // Comparing for String 1 != String 4 System.out.println('Comparing ' + string1 + ' and ' + string4 + ' : ' + string1.equals(string4)); } }>
Lähtö
Comparing Geeksforgeeks and Practice : false Comparing Geeks and Geeks : true Comparing Geeks and geeks : false Comparing Geeksforgeeks and Geeks : false>
3. String.equalsIgnoreCase():n käyttäminen:
The String.equalsIgnoreCase() menetelmä vertaa kahta merkkijonoa riippumatta merkkijonon kirjainkoosta (alempi tai ylempi). Tämä menetelmä palauttaa tosi, jos argumentti ei ole tyhjä ja molempien merkkijonojen sisältö on sama, isot ja pienet kirjaimet huomioimatta, muuten epätosi. Syntaksi:
str2.equalsIgnoreCase(str1);>
Tässä str1 ja str2 ovat molemmat merkkijonoja, joita on verrattava.
Esimerkkejä:
Input 1: techcodeview.com Input 2: Practice Output: false Input 1: Geeks Input 2: Geeks Output: true Input 1: geeks Input 2: Geeks Output: true>
Ohjelmoida:
Java // Java program to Compare two strings // lexicographically public class GFG { public static void main(String args[]) { String string1 = new String('Geeksforgeeks'); String string2 = new String('Practice'); String string3 = new String('Geeks'); String string4 = new String('Geeks'); String string5 = new String('geeks'); // Comparing for String 1 != String 2 System.out.println( 'Comparing ' + string1 + ' and ' + string2 + ' : ' + string1.equalsIgnoreCase(string2)); // Comparing for String 3 = String 4 System.out.println( 'Comparing ' + string3 + ' and ' + string4 + ' : ' + string3.equalsIgnoreCase(string4)); // Comparing for String 4 = String 5 System.out.println( 'Comparing ' + string4 + ' and ' + string5 + ' : ' + string4.equalsIgnoreCase(string5)); // Comparing for String 1 != String 4 System.out.println( 'Comparing ' + string1 + ' and ' + string4 + ' : ' + string1.equalsIgnoreCase(string4)); } }>
Lähtö
Comparing Geeksforgeeks and Practice : false Comparing Geeks and Geeks : true Comparing Geeks and geeks : true Comparing Geeksforgeeks and Geeks : false>
4. Objects.equals():n käyttäminen:
Object.equals (objekti a, objekti b) Metodi palauttaa tosi, jos argumentit ovat keskenään yhtä suuria, ja false muuten. Näin ollen, jos molemmat argumentit ovat nollia, palautetaan tosi ja jos täsmälleen yksi argumentti on tyhjä, palautetaan false. Muussa tapauksessa tasa-arvo määritetään käyttämällä ensimmäisen argumentin equals()-menetelmää. Syntaksi:
public static boolean equals(Object a, Object b)>
Tässä a ja b ovat molemmat merkkijonoobjekteja, joita verrataan.
Esimerkkejä:
Input 1: techcodeview.com Input 2: Practice Output: false Input 1: Geeks Input 2: Geeks Output: true Input 1: null Input 2: null Output: true>
Ohjelmoida:
Java // Java program to Compare two strings // lexicographically import java.util.*; public class GFG { public static void main(String args[]) { String string1 = new String('Geeksforgeeks'); String string2 = new String('Geeks'); String string3 = new String('Geeks'); String string4 = null; String string5 = null; // Comparing for String 1 != String 2 System.out.println( 'Comparing ' + string1 + ' and ' + string2 + ' : ' + Objects.equals(string1, string2)); // Comparing for String 2 = String 3 System.out.println( 'Comparing ' + string2 + ' and ' + string3 + ' : ' + Objects.equals(string2, string3)); // Comparing for String 1 != String 4 System.out.println( 'Comparing ' + string1 + ' and ' + string4 + ' : ' + Objects.equals(string1, string4)); // Comparing for String 4 = String 5 System.out.println( 'Comparing ' + string4 + ' and ' + string5 + ' : ' + Objects.equals(string4, string5)); } }>
Lähtö
Comparing Geeksforgeeks and Geeks : false Comparing Geeks and Geeks : true Comparing Geeksforgeeks and null : false Comparing null and null : true>
5. String.compareTo():n käyttäminen kahden merkkijonon vertailuun
Merkkijonon syntaksi vertaa kohteeseen()
int str1.compareTo(String str2)>
Työskentely: Se vertaa ja palauttaa seuraavia arvoja seuraavasti:
- jos (merkkijono1> merkkijono2) se palauttaa a positiivinen arvo .
- jos molemmat merkkijonot ovat leksikografisesti samanlaisia, eli (merkkijono1 == merkkijono2), se palauttaa 0 .
- jos (merkkijono1
negatiivinen arvo .
Alla on yllä olevan menetelmän toteutus
Java // Java program to Compare two strings // Using String.compareTo() import java.util.*; // Diver Class public class GFG { public static void check(String string1, String string2) { if (string1.compareTo(string2)!=0) { System.out.println(string1 + ' ' + string2 + ' : Not Equal'); } else { System.out.println(string1 + ' ' + string2 + ' : Equal'); } } // main function public static void main(String args[]) { String string1 = new String('Geeksforgeeks'); String string2 = new String('Geeks'); String string3 = new String('Geeks'); String string4 = ' '; String string5 = ' '; // Comparing for String 1 != String 2 check(string1, string2); // Comparing for String 2 = String 3 check(string2, string3); // Comparing for String 1 != String 4 check(string1, string4); // Comparing for String 4 = String 5 check(string4, string5); } }>
Lähtö
Geeksforgeeks Geeks : Not Equal Geeks Geeks : Equal Geeksforgeeks : Not Equal : Equal>
Huomautus: NULL-merkkijonoa ei voida välittää argumenttina vertaaTo()-metodille.
Lisätietoja aiheesta saat osoitteesta String.compareTo() artikla.
Miksi et käytä == merkkijonojen vertailuun?
Yleisesti ottaen molemmat on yhtä suuri () ja == Java-operaattoreita käytetään vertaamaan objekteja tasa-arvon tarkistamiseksi, mutta tässä on joitain eroja näiden kahden välillä:
- Suurin ero .equals()-menetelmän ja ==-operaattorin välillä on, että toinen on menetelmä ja toinen on operaattori.
- Vertailussa voidaan käyttää ==-operaattoreita (osoitevertailu) ja .equals()-metodi for sisällön vertailu .
- Sekä s1 että s2 viittaavat eri objekteihin.
- Kun s1- ja s2-vertailussa käytetään ==-operaattoria, tulos on epätosi, koska molemmilla on eri osoitteet muistissa.
- Käyttämällä yhtäläisiä, tulos on tosi, koska se vertaa vain s1:ssä ja s2:ssa annettuja arvoja.
Lisätietoja aiheesta saat osoitteesta merkkijonojen vertailu artikla.