Vergleichen Sie zwei Strings in Java - equals() und equalsIgnoreCase()
Das erste, was mir in den Sinn kommt, ist der Vergleich mit "==" aber das ist völlig falsch. Als ich anfing, mit Java zu programmieren, verglich ich zwei Zeichenfolgen mit "==", was die Gleichheit von Objekten testet, aber nicht zwischen zwei Zeichenfolgen und zwei Zeichen. Im Gegensatz zu C++ ist Java-Designer haben Methoden in der Klasse String erstellt, um die Sprache zu vereinfachen, da sie objektorientiert ist.Vergleich von String mit der Methode equals
Die Methode equals() der Klasse String testet die Gleichheit von Werten in java oder Variableninhalten und gibt true wenn beide Zeichenfolgen die gleichen Zeichen enthalten. Hier ist ein Beispiel:
String s1="str";equals() unterscheidet zwischen Groß- und Kleinschreibung:
String s2="str";
if(s1.equals(s2))
System.out.println("Beide Strings sind gleich");
String s1="str";In diesem Fall gibt sie false zurück.
String s2="STR";
if(s1.equals(s2))
System.out.println("Beide Strings sind gleich");
Ignorieren Sie Großbuchstaben mit equalsIgnoreCase()
Die Methode equalsIgnoreCase() vermeidet die Übergabe eines Strings von Kleinbuchstaben an Großbuchstaben und vis-vers-that und vergleicht ihn mit equals(), Java bietet eine equalsIgnoreCase()-Methode an, die Zeichen in Kleinbuchstaben umwandelt und die beiden Strings vergleicht.
< br />
< br />
String s1="str";
String s2="STR";
if(s1.equalsIgnoreCase(s2))
System.out.println("Empfindlichkeit gegenüber ignoriertem Fall. Die beiden Saiten sind gleich");
Größenvergleich
Die Klasse String hat die Methode length(), die die Länge des strings zurückgibt:
if("string1".length()=="string2".length()))
System.out.println("string1 und string2 gleich groß");
else if("string1".length()>" string2".length())
System.out.println("string1 ist länger");
else
System.out.println("string2 ist länger");
Was ist der Unterschied zwischen equals und "=="
Die Methode equals() testet auf Gleichheit der Werte.
new String("test").equals(new String("test"));//--> trueDer Operator "==" testet die Gleichheit von Objekten, hier sind eine Reihe von Fehlern, die es zu vermeiden gilt:
String s1="trial";Die Verkettung gibt true zurück, da sie während der Kompilierung aufgerufen wird, im Gegensatz zu substring() und replace(), die zur Laufzeit aufgerufen werden, und es wird ein neues Objekt erstellt, das nicht mit der anderen Seite der Gleichung übereinstimmt.
String s2="Versuch";
//sie sind das gleiche Objekt
s1==s2; --> false
//sie sind nicht dasselbe Objekt
s1 == "test"; --> false
//Sie verweisen auf dasselbe Objekt
"test" == "test"; --> true
//die Verkettung wird als einzelnes Objekt betrachtet
"test" == "your"+"t"; --> true
//Die Methode substring() generiert ein neues Objekt
"test" == "1test".substring(1); --> false
//Die Methode replace() generiert ein neues Objekt
"test" == "Test".replace("T", "t"); --> false