Vi kan sammenligne String i Java på baggrund af indhold og reference.
anmærkninger i springstøvle
Det bruges i Godkendelse (ved equals() metode), sortering (ved compareTo() metode), reference matching (af == operatør) osv.
Der er tre måder at sammenligne streng på i Java:
- Ved at bruge equals()-metoden
- Ved at bruge == Operatør
- Ved compareTo() Method
1) Ved at bruge equals()-metoden
String-klassen equals()-metoden sammenligner det oprindelige indhold af strengen. Den sammenligner strengværdier for lighed. String class giver følgende to metoder:
Teststringcomparison1.java
class Teststringcomparison1{ public static void main(String args[]){ String s1='Sachin'; String s2='Sachin'; String s3=new String('Sachin'); String s4='Saurav'; System.out.println(s1.equals(s2));//true System.out.println(s1.equals(s3));//true System.out.println(s1.equals(s4));//false } }Test det nu
Produktion:
true true false
I ovenstående kode sammenlignes to strenge vha lige med() metode til Snor klasse. Og resultatet udskrives som booleske værdier, rigtigt eller falsk .
Teststringcomparison2.java
class Teststringcomparison2{ public static void main(String args[]){ String s1='Sachin'; String s2='SACHIN'; System.out.println(s1.equals(s2));//false System.out.println(s1.equalsIgnoreCase(s2));//true } }Test det nu
Produktion:
false true
I ovenstående program er metoderne til Snor klasse bruges. Det lige med() metoden returnerer sand, hvis String-objekter matcher, og begge strenge har samme store og små bogstaver. equalsIgnoreCase() returnerer sandt uanset tilfælde af strenge.
Klik her for mere om equals() metoden2) Ved at bruge == operator
Operatoren == sammenligner referencer og ikke værdier.
Teststringcomparison3.java
class Teststringcomparison3{ public static void main(String args[]){ String s1='Sachin'; String s2='Sachin'; String s3=new String('Sachin'); System.out.println(s1==s2);//true (because both refer to same instance) System.out.println(s1==s3);//false(because s3 refers to instance created in nonpool) } }Test det nu
Produktion:
true false
3) Strengsammenligning med compareTo()-metoden
Ovenstående kode demonstrerer brugen af == operator brugt til at sammenligne to Snor genstande.
3) Ved at bruge compareTo() metoden
String-klassen compareTo()-metoden sammenligner værdier leksikografisk og returnerer en heltalsværdi, der beskriver, om første streng er mindre end, lig med eller større end anden streng.
Antag, at s1 og s2 er to strengobjekter. Hvis:
Teststringcomparison4.java
class Teststringcomparison4{ public static void main(String args[]){ String s1='Sachin'; String s2='Sachin'; String s3='Ratan'; System.out.println(s1.compareTo(s2));//0 System.out.println(s1.compareTo(s3));//1(because s1>s3) System.out.println(s3.compareTo(s1));//-1(because s3 <s1 ) } < pre> <span> Test it Now </span> <p> <strong>Output:</strong> </p> <pre> 0 1 -1 </pre> <a href="/java-string-compareto">Click me for more about compareTo() method</a> <hr></s1>Klik på mig for mere om compareTo()-metoden