Notez que containsAny
dans la classe ʻorg.apache.commons.lang3.StringUtils` a des méthodes surchargées, mais se comporte de manière addictive.
Le deuxième argument est CharSequence
public static boolean containsAny(final CharSequence cs, final CharSequence searchChars)
La méthode de est vraie si un "caractère" contenu dans la chaîne de caractères du deuxième argument est inclus.
//Exemple
StringUtils.containsAny("abcde", "aaa"); // true
StringUtils.containsAny("abcde", "efghi"); // true
Le deuxième argument est «CharSequence ...»
public static boolean containsAny(final CharSequence cs, final CharSequence... searchCharSequences)
La méthode de est vraie si une "chaîne de caractères" contenue dans le tableau de chaînes de caractères du deuxième argument est incluse. (Cette fois, le comportement que nous attendions)
//Exemple
StringUtils.containsAny("abcde", "aaa", "bbb", "ccc"); // false
StringUtils.containsAny("abcde", "cde", "def", "efg"); // true
Bien qu'il s'agisse d'une méthode d'argument variable, le comportement ne change que lorsque le nombre d'arguments est 1
(cela ressemble à), il semble donc que les variations augmenteront à l'avenir, donc ce n'est pas StringUtils.contains ()
mais` StringUtils.containsAny () Attention à ne pas devenir accro à la simple idée d'en faire ».
Vous pouvez appeler la méthode d'argument variable en effectuant un cast forcé comme suit.
StringUtils.containsAny("abcde", new String[]{"aaa"}); // false
StringUtils.containsAny("abcde", new String[]{"efghi"}); // false
Recommended Posts