Beachten Sie, dass enthältAny
in der Klasse org.apache.commons.lang3.StringUtils
einige überladene Methoden enthält, sich aber süchtig macht.
Das zweite Argument ist "CharSequence"
public static boolean containsAny(final CharSequence cs, final CharSequence searchChars)
Die Methode von ist wahr, wenn ein in der Zeichenfolge des zweiten Arguments enthaltenes "Zeichen" enthalten ist.
//Beispiel
StringUtils.containsAny("abcde", "aaa"); // true
StringUtils.containsAny("abcde", "efghi"); // true
Das zweite Argument ist "CharSequence ..."
public static boolean containsAny(final CharSequence cs, final CharSequence... searchCharSequences)
Die Methode von ist wahr, wenn eine im Zeichenfolgenarray des zweiten Arguments enthaltene Zeichenfolge enthalten ist. (Diesmal das erwartete Verhalten)
//Beispiel
StringUtils.containsAny("abcde", "aaa", "bbb", "ccc"); // false
StringUtils.containsAny("abcde", "cde", "def", "efg"); // true
Obwohl es sich um eine Methode mit variablen Argumenten handelt, ändert sich das Verhalten nur, wenn die Anzahl der Argumente "1" beträgt (wie es aussieht). Es scheint also, dass die Variationen in Zukunft zunehmen werden, also nicht "StringUtils.contains ()", sondern "StringUtils.containsAny ()" Achten Sie darauf, nicht süchtig nach der einfachen Idee zu werden, es zu machen.
Sie können die variable Argumentmethode aufrufen, indem Sie sie wie folgt zwangsweise umwandeln.
StringUtils.containsAny("abcde", new String[]{"aaa"}); // false
StringUtils.containsAny("abcde", new String[]{"efghi"}); // false
Recommended Posts