2010-02-22 22 views
5

Tengo un Cadena2. Quiero comprobar si String2 existe en String1. La longitud de String1 puede ser menor o mayor que String2. También String2 puede ser nulo o vacío a veces. ¿Cómo puedo verificar esto en mi código de Java?Java cheque subcadena

Respuesta

36

La respuesta obvia es String1.contains(String2);

Se lanzará una NullPointerException si String1 es nulo. Comprobaría que String1 no es nulo antes de intentar la comparación; las otras situaciones deberían manejarlo como cabría esperar.

+0

asumiendo que están usando Java 5+ – newacct

+3

hecho. Espero que, dados los casi seis años desde el lanzamiento de Java 5, en general podamos hacer esa suposición. – Brabster

+1

Um, hay muchas tiendas de TI (la mía incluida, desafortunadamente) que todavía usan Java 1.4. –

7

debería intentar usar String#contains.

+2

+1, para apuntar el OP a la API en lugar de alimentar el código. De esta forma, el OP se ve obligado a leer la API para averiguar los parámetros. Quién sabe mientras hacen esto, pueden encontrar otros métodos útiles y evitar que publiquen otra pregunta en el foro. – camickr

+0

Muchas gracias por la informacion – Arav

3

Aquí es un simple clase de prueba:

public class Test002 { 

    public static void main(String[] args) { 

     String string1 = "Java is Great!"; 
     String string2 = "eat"; 

     if (string1 != null && string2 != null & string2.length() <= string1.length() & string1.contains(string2)) { 
      System.out.println("string1 contains string2"); 
     } 

    } 
} 
+0

muchas gracias por la informacion – Arav

5

Para versiones anteriores, se puede utilizar indexOf. Si string2 no está en string1, indexOf le dará -1. Debe asegurarse de antemano que ambas cadenas no son nulas para evitar una NullPointerException.

+0

muchas gracias por la info – Arav