Cette fonction est spécialement conçue pour vérifier si une chaîne 'contient' une autre chaîne ou non. Si vous êtes nouveau dans ce domaine, vous pourriez finir par l'utiliser pour trouver un "personnage". Mais cela ne servira à rien. Dans cet article, nous expliquerons comment java.lang.String.contains() est utilisé, implémenté et quelles exceptions peuvent survenir si elles ne sont pas utilisées avec précaution.
Qu'est-ce que la méthode contains() ?
Vous pouvez utiliser la méthode contains(String key) pour « trouver » si une certaine chaîne « key » est présente ou non dans une certaine chaîne. Si "key" est trouvé, "true" est renvoyé. Sinon, vous obtiendrez un "faux".Mise en œuvre interne
Cette méthode est déjà implémentée par java.lang.String . Vous n'avez pas à implémenter cela vous-même. Voici une explication rapide de celui-ci pour votre compréhension.
public class ContainsMethod
{
public boolean contains(CharSequence key)
{
return indexOf(key.toString()) > -1;
}
}
Explication des codes
contient () , prend un CharSequence comme paramètre d'entrée. Qui est ensuite converti en "String". Ensuite, cette expression est calculée indexOf(key.toString()) > -1 ; . Ce qui signifie que si cette "clé" est trouvée à n'importe quel index ("0" ou plus), alors "true" est renvoyé. Et si la clé n'est pas trouvée, alors un "faux" est renvoyé.Comment utiliser la méthode contains()?
Voici comment vous pouvez l'utiliser.
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"));
}
}
Sortir
input.contains(bro) = true
input.contains(brown) = true
input.contains(Brown) = false // false car sensible à la casse
input.contains(fox) = true
input.contains(xof) = false // false car l'ordre doit être le même
input.contains(dog) = true
input.contains(lazyy) = false // false car toute la sous-chaîne est introuvable
input.contains(jumping) = false
Explication des codes
Veuillez noter que cette méthode est sensible à la casse pour les paramètres d'entrée. Ainsi, dans l'extrait ci-dessus, vous pouvez observer lorsque vous recherchez "marron", vrai est renvoyé, tandis que faux est renvoyé pour "Marron". De plus, vous obtiendrez true si vous trouvez « fox » et false pour « xof » ou « oxf » car l'ordre des caractères doit être le même. Enfin, si vous trouvez "jump" ou "jumped", vous obtiendrez un vrai car tout le paramètre est présent dans la chaîne " input ". Tandis que, si vous cochez "jumping", false est renvoyé car la clé entière ("jumping") n'est pas trouvée.Prise en charge des exceptions
La méthode java.lang.String.contains() génère une exception de pointeur nul si vous oubliez d'initialiser la chaîne de paramètres avec une valeur concrète.
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));
}
}
Sortir
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