Diese Funktion wurde speziell entwickelt, um zu prüfen, ob eine Zeichenfolge eine andere Zeichenfolge „enthält“ oder nicht. Wenn Sie damit noch nicht vertraut sind, verwenden Sie es möglicherweise, um einen „Charakter“ zu finden. Aber es wird seinen Zweck nicht erfüllen. In diesem Artikel gehen wir darauf ein, wie java.lang.String.contains() verwendet und implementiert wird und welche Ausnahmen bei unsachgemäßer Verwendung auftreten können.
Was ist die Methode „contains()“?
Sie können die Methode „ contains(String key) “ verwenden, um herauszufinden , ob eine bestimmte Zeichenfolge „ key “ in einer bestimmten Zeichenfolge vorhanden ist oder nicht. Wenn „key“ gefunden wird, wird „true“ zurückgegeben. Andernfalls erhalten Sie ein „falsch“.Interne Umsetzung
Diese Methode ist bereits von java.lang.String implementiert . Sie müssen dies nicht selbst umsetzen. Zum besseren Verständnis finden Sie hier eine kurze Erklärung.
public class ContainsMethod
{
public boolean contains(CharSequence key)
{
return indexOf(key.toString()) > -1;
}
}
Code-Erklärung
Die Methode enthält () verwendet eine CharSequence als Eingabeparameter. Was später in einen „String“ umgewandelt wird. Dann wird dieser Ausdruck berechnet : indexOf(key.toString()) > -1; . Das heißt, wenn dieser „Schlüssel“ an einem beliebigen Index („0“ oder höher) gefunden wird, wird „true“ zurückgegeben. Und wenn der Schlüssel nicht gefunden wird, wird „false“ zurückgegeben.Wie verwende ich die Methode „contains()“?
Hier erfahren Sie, wie Sie es verwenden können.
public class ContainsMethod {
public static void main(String[] args) {
String input = "A brown fox jumped over a lazy dog.";
// check the containing strings
System.out.println("input.contains(bro) = " + input.contains("bro"));
System.out.println("input.contains(brown) = " + input.contains("brown"));
System.out.println("input.contains(Brown) = " + input.contains("Brown"));
System.out.println("input.contains(fox) = " + input.contains("fox"));
System.out.println("input.contains(xof) = " + input.contains("xof"));
System.out.println("input.contains(dog) = " + input.contains("dog"));
System.out.println("input.contains(lazyy) = " + input.contains("lazyy"));
System.out.println("input.contains(jumping) = " + input.contains("jumping"));
}
}
Ausgang
input.contains(bro) = true
input.contains(brown) = true
input.contains(Brown) = false // false, da zwischen Groß- und Kleinschreibung unterschieden wird
input.contains(fox) = true
input.contains(xof) = false // false weil die Reihenfolge gleich sein sollte
input.contains(dog) = true
input.contains(lazyy) = false // false, weil der gesamte Teilstring nicht gefunden wurde
input.contains(jumping) = false
Code-Erklärung
Bitte beachten Sie, dass bei dieser Methode bei Eingabeparametern die Groß-/Kleinschreibung beachtet wird. Im obigen Snippet können Sie also beobachten, dass bei der Suche nach „braun“ „ true“ zurückgegeben wird, während „ false“ für „Braun“ zurückgegeben wird. Außerdem erhalten Sie „ true“ , wenn Sie „fox“ und „false“ für „xof“ oder „oxf“ finden, da die Reihenfolge der Zeichen dieselbe sein muss. Wenn Sie schließlich „jump“ oder „jumped“ finden, erhalten Sie ein „ true“ , da der gesamte Parameter in der Zeichenfolge „ input “ vorhanden ist. Wenn Sie hingegen nach „Springen“ suchen, wird „Falsch “ zurückgegeben, da der gesamte Schlüssel („Springen“) nicht gefunden wurde.Sich um Ausnahmen kümmern
Die Methode java.lang.String.contains() führt zu einer Nullzeigerausnahme, wenn Sie vergessen, die Parameterzeichenfolge mit einem konkreten Wert zu initialisieren.
public class ContainsMethod {
public static void main(String[] args) {
String input = "Here is a test string.";
String test = null;
// check what happens if you look for a null string
System.out.println("input.contains(test) = " + input.contains(test));
}
}
Ausgang
Exception in thread "main" java.lang.NullPointerException
at java.lang.String.contains(String.java:2133)
at ContainsMethod.main(ContainsMethod.java:8)
GO TO FULL VERSION