Prüfung von Präfixen in verschiedenen Fällen
Im vorherigen Schritt haben Sie erfolgreich die Methode startsWith()
verwendet, um auf ein Präfix zu prüfen. Jetzt wollen wir untersuchen, wie startsWith()
verschiedene Fälle (Groß- und Kleinbuchstaben) behandelt.
Standardmäßig ist die Methode startsWith()
case-sensitive (groß- und kleinschreibungssensitiv). Das bedeutet, dass "Hello" als unterschiedlich von "hello" oder "HELLO" angesehen wird. Ändern wir unsere PrefixChecker.java
-Datei, um dies in Aktion zu sehen.
-
Öffnen Sie die Datei PrefixChecker.java
im WebIDE-Editor.
-
Ändern Sie die main
-Methode, um Prüfungen mit verschiedenen Fällen einzubeziehen. Ersetzen Sie die vorhandene main
-Methode durch den folgenden Code:
public class PrefixChecker {
public static void main(String[] args) {
String text = "Hello, Java!";
String prefix1 = "Hello";
String prefix2 = "hello";
String prefix3 = "HELLO";
boolean startsWithPrefix1 = text.startsWith(prefix1);
boolean startsWithPrefix2 = text.startsWith(prefix2);
boolean startsWithPrefix3 = text.startsWith(prefix3);
System.out.println("Does the text start with '" + prefix1 + "'? " + startsWithPrefix1);
System.out.println("Does the text start with '" + prefix2 + "'? " + startsWithPrefix2);
System.out.println("Does the text start with '" + prefix3 + "'? " + startsWithPrefix3);
}
}
In diesem aktualisierten Code prüfen wir, ob der text
-String mit "Hello", "hello" und "HELLO" beginnt.
-
Speichern Sie die Datei (Strg+S oder Cmd+S).
-
Öffnen Sie das Terminal und stellen Sie sicher, dass Sie sich im Verzeichnis ~/project
befinden.
-
Kompilieren Sie die geänderte Java-Datei:
javac PrefixChecker.java
-
Führen Sie das kompilierte Programm aus:
java PrefixChecker
Sie sollten die folgende Ausgabe sehen:
Does the text start with 'Hello'? true
Does the text start with 'hello'? false
Does the text start with 'HELLO'? false
Diese Ausgabe zeigt deutlich, dass startsWith()
nur für das Präfix "Hello" (das die Groß- und Kleinschreibung der ursprünglichen Zeichenkette übereinstimmt) true
zurückgegeben hat und für "hello" und "HELLO" false
. Dies zeigt, dass startsWith()
case-sensitive ist.
Wenn Sie eine case-insensitive (groß- und kleinschreibungsunabhängige) Präfixprüfung durchführen müssen, würden Sie normalerweise sowohl die ursprüngliche Zeichenkette als auch das Präfix in dieselbe Groß- oder Kleinschreibung umwandeln, bevor Sie startsWith()
verwenden. Beispielsweise könnten Sie text.toLowerCase().startsWith(prefix.toLowerCase())
verwenden. Wir werden dies hier nicht implementieren, aber es ist eine nützliche Technik, die Sie im Hinterkopf behalten sollten.