String in Java kunnen we vergelijken op basis van inhoud en referentie.
Het wordt gebruikt bij authenticatie (via equals() methode), sorteren (via de methode CompareTo()), referentie matching (door == operator) etc.
Er zijn drie manieren om String in Java te vergelijken:
Unix versus Windows
- Door de equals()-methode te gebruiken
- Door == Operator te gebruiken
- Door de methode CompareTo().
1) Door de equals()-methode te gebruiken
De methode String klasse equals() vergelijkt de originele inhoud van de string. Het vergelijkt waarden van tekenreeksen voor gelijkheid. De klasse String biedt de volgende twee methoden:
Testtekenreeksvergelijking1.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 het nu
Uitgang:
true true false
In de bovenstaande code worden twee strings vergeleken met behulp van is gelijk aan() methode van Snaar klas. En het resultaat wordt afgedrukt als Booleaanse waarden, WAAR of vals .
Teststringvergelijking2.java
data structuur
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 het nu
Uitgang:
false true
In het bovenstaande programma zijn de methoden van Snaar klasse worden gebruikt. De is gelijk aan() methode retourneert true als String-objecten overeenkomen en beide strings dezelfde hoofdletters hebben. is gelijk aanIgnoreCase() retourneert waar, ongeacht het geval van tekenreeksen.
Klik hier voor meer informatie over de equals()-methode2) Door de operator == te gebruiken
De operator == vergelijkt referenties en geen waarden.
onderstrepen in afwaardering
Teststringvergelijking3.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 het nu
Uitgang:
true false
3) Tekenreeks vergelijken met de methode CompareTo().
De bovenstaande code demonstreert het gebruik van == operator gebruikt voor het vergelijken van twee Snaar voorwerpen.
3) Door de methode CompareTo() te gebruiken
De methode String-klasse CompareTo() vergelijkt waarden lexicografisch en retourneert een geheel getal dat beschrijft of de eerste tekenreeks kleiner is dan, gelijk is aan of groter is dan de tweede tekenreeks.
Stel dat s1 en s2 twee String-objecten zijn. Als:
Teststringvergelijking4.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 op mij voor meer informatie over de methode CompareTo().