Clase String en Java SE - Parte n°3. - Metodos, Funciones Comparación.

Función de Comparación de variables u objetos Strings .

Función: equals()


Para la comparación de variables u objetos de tipo Strings, utilizamos el operador lógico == y la función miembro equals() de la clase String.


Con las siguientes instrucciones podremos distinguir la diferencia entre ellos:


        String miString1="Hola Mundo";
        String miString2=new String("Hola Mundo");
        
        if(miString1==miString2){
               System.out.println("Los mismos objetos u variables");
        }else{
               System.out.println("Distintos objetos u variables");
        }
        if(miString1.equals(miString2)){
               System.out.println("El mismo contenido/valor asignado");
        }else{
               System.out.println("Distinto contenido/valor asignado");
        }               

Estas instrucciones o código devolverá que la variable u objeto miString1 y miString2 son distintos objetos pero con el mismo contenido o valor asignado.
Las variables u objetos miString1  y miString2 están almacenadas en diferentes posiciones en la memoria, sin embargo guardan el mismo valor o dato (“Hola Mundo”).


Otro Ejemplo:


String miString3="Hola Mundo";
String miString4=miString3;
System.out.println("Son el mismo objeto: Verdadero (true) o Falso (false): "+(miString3==miString4));
System.out.println("y tienen el mismo dato almacenado/asignado: "+(miString3));


Las variables u objetos miString1  y miString2, almacenan o guardan la misma referencia al objeto de la clase String (Las dos son variables o tipos de objetos de tipo String). La instrucción o expresión (str1==str2) devolverá como resultado true.


El método o función equals() realiza una comparación de una variable u objeto de tipo String con un objeto o variable de cualquier tipo o también otra variable u objeto de tipo String,  y como resultado devolverá como resultado trae. cuando las dos variables u objeto de tipo Strings son iguales o false si son diferentes.






La variable u objeto resultado tomará el valor true como resultado.


La variable resultado es de tipo boolean, este tipo de variable u objeto solo recibe como resultado o dato de asignación: trae o false.


Método o Función: compareTo(). 


La función miembro o el método compareTo(). Retorna o devuelve como resultado un número de tipo entero (Integer: int):


·        Menor a cero si el objeto, variable o dato de tipo String es menor (en orden alfabético) que el String indicado como parámetro u argumento (entre comillas dobles).
·        Cero si son iguales.
·        Mayor que cero si la variable u objeto de tipo String (MiStringC)  String es mayor que el String indicado como parámetro u argumento (entre comillas dobles).

        String MiStringC="Juan";
        int resultado=MiStringC.compareTo("Andres");
        System.out.println(resultado);


La variable entera resultado tomará un valor mayor que cero, ya que Juan está después de Andres en orden alfabético. (El carácter A tiene un valor menor al carácter B y así sucesivamente).

        String MiStringC2="Andres";
        int resultado2=MiStringC2.compareTo("juan");
        System.out.println(resultado2);


La variable entera resultado2 tomará un valor menor que cero, ya que Andres está antes que Juan en orden alfabético.

Código Fuente:

public class javaappstringcomparacion {
   public static void main(String[] args) {   
    String miString1="Hola Mundo";
        String miString2=new String("Hola Mundo");
if(miString1==miString2)
        {
System.out.println("Los mismos objetos u variables");
}else
        {
System.out.println("Distintos objetos u variables");
}
if(miString1.equals(miString2))
        {
System.out.println("El mismo contenido/valor asignado");
}else
        {
System.out.println("Distinto contenido/valor asignado");
}            
        String miString3="Hola Mundo";
        String miString4=miString3;
System.out.println("Son el mismo objeto: Verdadero (true) o Falso (false): "+(miString3==miString4));
        System.out.println("y tienen el mismo dato almacenado/asignado: "+(miString3));
        
        //FUNCION O METODO compareTo()
        String MiStringC="Juan";
int resultado=MiStringC.compareTo("Andres");
        System.out.println(resultado);
        
        String MiStringC2="Andres";
int resultado2=MiStringC2.compareTo("Juan");
        System.out.println(resultado2);

   }
}

Comentarios

Entradas populares de este blog

Clase String en Java SE - Parte n°5. - Conversion de String, Int, Double, Funcion Trim().

ARRAYS, ARREGLOS O VECTORES EN JAVA

Parte N°6 Java SE - La clase StringBuffer y uso de memoria.