1
respuesta

[Duda] METODO CONTAINS Y EQUAL SON DIFERENTES?

SI SON DIFERENTES, NO ENTIENDO PORQUE SE MODIFICA CONTAINS PARA QUE RESUELVA SI DOS OBJETOS SON IGUALES, CUANDO EN EL EJEMPLO PARA AÑADIR UN OBJETO AL ARRAYLIST SE USA "LISTA.ADD(CC_)", ES POR ELLO QUE NO APARECE EN EL RESULTADO DEL IF QUE TIENE LISTA.CONTAINS, SI SE BUSCABA QUE LA REFERENCIA DEL OBJETO APAREZCA EN EL ARRAYLIST, SE DEBIÓ USAR "LISTA.ADD(CC_)", PERO EN ESTE CASO SE MODIFICA EL METODO EQUALS, QUE ESTÁ DENTRO DE CONTAINS ...

1 respuesta

Hola William, espero que estés bien.

importante recuerdar que contains es una función para determinar si una cadena está incluida en otra cadena. La función devuelve un valor boolean true si valor1 contiene valor2; de lo contrario, false. Los parámetros representa valores de entrada: expresiones, literales o funciones.

equals realiza una comparación de la String completa y contains comprueba si la String tiene en su interior el valor de la String pasada.

String a = "hola mundo";
String b = "hola alura latam";
if (a.contains(b))

Esta prueba devolverá true, porque dentro de la String a, está el contenido de la String b.

Ya existe una prueba de equals para Strings:

String a = "hola mundo";
String b = "hola alura latam";
if (a.equals(b))

Esta prueba devolverá false, porque String a no es igual a String b. Nótese que lo que define que no sean iguales, es porque la implementación del método equals() de la clase String analiza una String lexicográficamente, es decir, compara carácter por carácter, por lo que para que una String sea igual a otra, cada carácter en la misma posición en ambas Strings debe ser el mismo.

Mucho éxito en todo lo que te propongas y continúa con ese empeño.

Recuerda que si tienes alguna duda sobre el contenido, estaremos aquí para ayudarte. ¡Vamos juntos!

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios