Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

DUDA CON EL CONTAINS Y EQUALS

AL FINAL DEL VIDEO EL PROFESOR MENCIONA if (contiene) {// por referencia

        System.out.println("si, es igual con (equals)");
    }
    // aca estamos diciendo que si tiene un espacio de memoria en la lista

PERO SE SUPONE EL EQUALS COMPARA , PORQUE EL METODO EQUALS QUE HEMOS SOBRESESCRIBIDO TIENE LA COMPARACION DE LO QUE PASAMOS CON PARAMETROS , EN SI PARA COMPARAR LOS ATRIBUTOS O VALORES LO CUAL EL PROFESOR PONE AHI EN EL VIDEO : SI , ES IGUAL CON (EQUALS), ENTIENDO QUE EL EQUALS DERIVA DEL CONTAINS, PERO NO DEBERIA SER ESE IF ASI: System.out.println("si, es igual con (CONTAINS)"); YA QUE EL CONTAINS SIRVE PARA SABER SI UNA LISTA CONTIENE UN ELEMENTO

Y ENTONCES NO DEBERIA VER OTRO IF ALGO ASI:

if(cc.equals(c2)){// por atributos o valores // sirve para comparar System.out.println("si , son iguales los valores usando el equals"); }

    ACA SI USAMOS EL EQUALS PARA COMPRAR LOS VALORES O ATRIBUTOS CON EL EQUALS
    
    EXPLIQUENME BIEN PORFAVOR , SE LOS AGRADECIA MUCHO
    
    FOTO: 
    ![Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad](https://cdn1.gnarususercontent.com.br/6/490755/86326d4e-7b7d-4ff2-8fea-56a6f1a5f2ed.png)  
    
    ![Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad](https://cdn1.gnarususercontent.com.br/6/490755/c1764667-ad5f-4642-b152-fe8e6e8c2f38.png)  
1 respuesta

Hola Ian, espero que estés bien.

Gracias por compartir con nosotros y felicitaciones por tu aprendizaje, me alegra que estés disfrutando del curso.

La imagen subida no se abrió, sugiero que cuando subas imágenes al foro, selecciones la opción de imagen que está disponible en el menú principal para que no haya error al abrir.

Además, 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