Con la tecnología de Blogger.

Comparación de Strings

Hoy vamos a ver la comparación de strings en el lenguaje de programación Java:

package equals;
public class EqualsApp {
public static void main(String[] args) {
String str1="El lenguaje Java";
String str2=str1;
System.out.println("String1 --> "+str1);
System.out.println("String2 --> "+str2);
System.out.println("¿Es el mismo objeto? --> "+(str2==str1));
str2=new String(str1);
System.out.println("String1 --> "+str1);
System.out.println("String2 --> "+str2);
System.out.println("¿Es el mismo objeto? --> "+(str2==str1));
System.out.println("¿El mismo valor? --> "+(str2.equals(str1)));
try {
//espera la pulsación de una tecla y luego RETORNO
System.in.read();
}catch (Exception e) { }
}
}

La comparación de strings nos da la oportunidad de distinguir entre el operador lógico == y la función
miembro equals de la clase String. En el siguiente código:

String str1="El lenguaje Java";
String str2=new String("El lenguaje Java");
if(str1==str2){
System.out.println("Los mismos objetos");
}else{
System.out.println("Distintos objetos");
}
if(str1.equals(str2)){
System.out.println("El mismo contenido");
}else{
System.out.println("Distinto contenido");
}

Esta porción de código devolverá que str1 y str2 son dstintos objetos pero con el mismo contenido. str1 y str2 ocupan posiciones distintas en memoria pero guradan los mismos datos.

Cambiemos la segunda sentencia y escribamos

String str1="El lenguaje Java";
String str2=str1;
System.out.prinln("Son el mimso objeto "+(str1==str2);

Los objetos str1 y str2 guardan la misma referencia al objeto de la clase String creado. La expresión
(str1==str2) devolverá true.

Así pues, el método equals compara un string con un objeto cualquiera que puede ser otro string, y
devuelve true cuando dos strings son iguales o false si son distintos.

String str="El lenguaje Java";
boolean resultado=str.equals("El lenguaje Java");

La variable resultado tomará el valor true.

La función miembro compareTo devuelve un entero menor que cero si el objeto string es menor (en orden alfabético) que el string dado, cero si son iguales, y mayor que cero si el objeto string es mayor que el string dado.

String str="Tomás";
int resultado=str.compareTo("Alberto");

La variable entera resultado tomará un valor mayor que cero, ya que Tomás está después de Alberto en
orden alfabético.

String str="Alberto";
int resultado=str.compareTo("Tomás");

La variable entera resultado tomará un valor menor que cero, ya que Alberto está antes que Tomás en orden alfabético.
Share on Google Plus

Sobre Rafa

Soy un apasionado de las nuevas técnologias, Internet, los videojuegos, la cultura japonesa y de USA.
    Blogger Comment
    Facebook Comment

2 comentarios:

  1. Hola!
    Permíteme presentarme soy Lucy administradora de un directorio de blogs, visité tu portal y está interesante, tienes temas muy buenos. Me encantaría poner un link de tu web en mis sitios y así mis visitas puedan visitarlo también. Si estás de acuerdo no dudes en escribirme
    bellezaestetica7@gmail.com
    Éxitos con tu blog.
    Saludos

    Lucy

    ResponderEliminar

Gracias por comentar ;-)