Esta función está especialmente diseñada para verificar si una cadena 'contiene' otra cadena o no. Si eres nuevo en esto, podrías terminar usándolo para encontrar un 'personaje'. Pero no servirá para el propósito. En este artículo, abordaremos cómo se usa e implementa java.lang.String.contains() y qué excepciones pueden surgir si no se usa con cuidado.
¿Qué es el método contiene()?
Puede usar el método contains(String key) para " encontrar " si una determinada cadena " key " está presente dentro de una determinada cadena o no. Si se encuentra "clave", se devuelve "verdadero". De lo contrario obtendrá un "falso".Implementación Interna
Este método ya está implementado por java.lang.String . No tienes que implementar esto tú mismo. Aquí hay una explicación rápida para su comprensión.
public class ContainsMethod
{
public boolean contains(CharSequence key)
{
return indexOf(key.toString()) > -1;
}
}
Código Explicación
contiene() , toma una CharSequence como parámetro de entrada. Que luego se convierte en una "Cadena". Entonces esta expresión se calcula indexOf(key.toString()) > -1; . Lo que significa que si esa "clave" se encuentra en cualquier índice ("0" o mayor), se devuelve "verdadero". Y si no se encuentra la clave, se devuelve un "falso".¿Cómo usar el método contiene ()?
Así es como puedes usarlo.
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"));
}
}
Producción
input.contains(bro) = true
input.contains(brown) = true
input.contains(Brown) = false // false porque distingue entre mayúsculas y minúsculas
input.contains(fox) = true
input.contains(xof) = false // false porque el orden debe ser el mismo
input.contains(dog) = true
input.contains(lazyy) = false // false porque no se encontró la subcadena completa
input.contains(jumping) = false
Código Explicación
Tenga en cuenta que este método distingue entre mayúsculas y minúsculas para los parámetros de entrada. Entonces, en el fragmento anterior, puede observar que cuando busca "marrón", se devuelve verdadero , mientras que se devuelve falso para "marrón". Además, obtendrá verdadero si encuentra "zorro" y falso para "xof" o "oxf" porque el orden de los caracteres debe ser el mismo. Por último, si encuentra "salto" o "saltado", obtendrá un verdadero ya que todo el parámetro está presente en la cadena de " entrada ". Mientras que, si verifica si hay "saltos", se devuelve falso porque no se encuentra la clave completa ("saltos").Cuidando las excepciones
El método java.lang.String.contains() da como resultado una excepción de puntero nulo si olvida inicializar la cadena de parámetros con algún valor concreto.
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));
}
}
Producción
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