Un error que se comete cuando aun eres principiante en esto del desarrollo, es comparar las cadenas, queriendo hacer la comparación como se usa en los tipos primitivos, la manera de hacerlo correctamente es la siguiente.
En Java solo los tipos primitivos (por ejemplo int o char) se comparan con ==, los String (y los demas objetos) en Java se comparan entre ellos con el metodo equals.
Se compara el valor de la cadena no la referencia que el lo que sucede cuando usamos == para un objeto.
String nombre1 = "Juan";
String nombre2 = "Manuel";
if(nombre1.equals(nombre2)) {
System.out.println("Los nombres son iguales");
} else {
System.out.println("Los nombres no son iguales");
}
En este caso se puede usar el metodo
if(nombre1.equalsIgnoreCase(nombre2)) {
System.out.println("Los nombres son iguales");
} else {
System.out.println("Los nombres no son iguales");
}
En Java solo los tipos primitivos (por ejemplo int o char) se comparan con ==, los String (y los demas objetos) en Java se comparan entre ellos con el metodo equals.
String#equals(Object)
Se compara el valor de la cadena no la referencia que el lo que sucede cuando usamos == para un objeto.
String nombre1 = "Juan";
String nombre2 = "Manuel";
if(nombre1.equals(nombre2)) {
System.out.println("Los nombres son iguales");
} else {
System.out.println("Los nombres no son iguales");
}
En este caso se puede usar el metodo
String#equalsIgnoreCase(Object)
que ignora MAYUSCULAS o minusculas al hacer la comparación.if(nombre1.equalsIgnoreCase(nombre2)) {
System.out.println("Los nombres son iguales");
} else {
System.out.println("Los nombres no son iguales");
}
Comentarios
Publicar un comentario