#Java básicos-notas diarias (1)

Java Foundation-Notas diarias (1)


"=" en Java se usa para indicar si el contenido de las celdas de memoria coincidentes es igual.

  • Si es un tipo primitivo, como byte, boolean, short, char, int, long, float, double, significa que los valores son iguales.

  • Si es un tipo de referencia, indica si los valores referenciados son iguales, es decir, si las direcciones referenciadas son las mismas.

Tipo de cadena de ejemplo:

public class StringTest {
    public static void main(String[] args) {
    String a = "ab";
    String b = "a"+"b";
    String c = new String("ab");
    String d = new String("ab");
    System.out.println(a==b);
    System.out.println(a==c);
    System.out.println(c==d);
    System.out.println(a.equals(b));
    System.out.println(a.equals(c));
    System.out.println(c.equals(d));
    }
}

El resultado de ejecución es:
verdadero
falso
falso
verdadero
verdadero
verdadero
Se puede ver claramente en el resultado que == juzga si las direcciones referenciadas son las mismas, y el método igual () de String juzga si los valores son iguales.
El siguiente ejemplo prueba si comprende:

public class StringTest {
    public static String get(){
        return "a";
    }
    public static void main(String[] args) {
        String a_1 = "a";
        final String a_2 = "a";

        String a = "ab";
        String b = a_1+"b";
        String c = a_2+"b";
        String d = get()+"b";
        System.out.println(a==b);
        System.out.println(a==c);
        System.out.println(a==d);
    }
}

El resultado es falso, verdadero, falso.

Nota: final define constantes, por lo que son iguales. Las variables y los métodos devuelven referencias, por lo que no son iguales. El compilador compila la cadena de conexión variable (+) en el método append de StringBuiler para lograr la operación de conexión.


Hablando del método igual, debemos hablar sobre el método hashCode. Este método se usa para generar un número para identificar el objeto. Aunque es una identificación, diferentes objetos pueden producir el mismo valor hash, y el mismo objeto puede generar un hash Los valores son diferentes, por lo que el método hashCode no se puede usar para determinar si dos objetos son iguales.

10 artículos originales publicados · Me gusta2 · Visitas 1927

Supongo que te gusta

Origin blog.csdn.net/yuhao22/article/details/53791516
Recomendado
Clasificación