Wenn ich das folgende Programm ausführe, druckt es nur
%Vor%Aber aus equalsIgnoreCase docs in java 8 haben wir:
%Vor%Zwei Zeichen c1 und c2 gelten als gleich ignorierender Fall, wenn at mindestens eine der folgenden Aussagen ist wahr:
• Anwenden der Methode java.lang.Character.toUpperCase (char) für jedes Zeichen erzeugt das gleiche Ergebnis
Also meine Frage ist, warum dieses Programm nicht druckt
%Vor%Wie in beiden Operationen werden Großbuchstaben verwendet.
Sie benutzen / vergleichen das deutsche ß Zeichen, dessen Großbuchstaben SS ... also müssen Sie Locale.German
verwenden
das wird wahr .... zurückgeben.
Ja, es ist korrekt.
if (string1.equalsIgnoreCase (string2)) ....
ignoriert die Klein- und Großbuchstaben von string1 und string2.
if (string1.equals (string2)) ....
erkennt, dass es verschiedene Buchstaben gibt und druckt nicht. Sie sind gleich. Ihr zweites Beispiel mit der Konvertierung in Großbuchstaben ist ebenfalls OK.
Tags und Links string java locale case-sensitive