1. "=="
==
A comparação é armazenada na memória variável (pilha)O endereço de memória (heap) do objeto, Usado para determinar se os endereços de dois objetos são iguais, ou sejaRefere-se ao mesmo objeto. A comparação é a operação do ponteiro no verdadeiro sentido.
1. A comparação é se os operandos em ambas as extremidades do operador são o mesmo objeto.
2. Os operandos em ambos os lados devem ser do mesmo tipo (pode ser entre classes pai e filho) para compilar e passar.
3. A comparação é o endereço. Se for uma comparação de algarismos arábicos específicos, o valor é igual a verdadeiro, como:
int a = 10 e long b = 10L e double c = 10.0 são iguais (true), porque ambos apontam para o heap no endereço 10.
@Test
public void test1(){
/**
* == 比较的是地址,如果是具体的阿拉伯数字的比较,值相等则为true,如:
* int a=10 与 long b=10L 与 double c=10.0都是相同的(为true),因为他们都指向地址为10的堆。
*/
int a=10;
long b=10L;
double c=10.0;
System.out.println(a==b); //true
System.out.println(b==c); //true
System.out.println(a==c); //true
}
Dois, "igual a"
igual é usado para comparar dois objetosSe o conteúdo é igual, Uma vez que todas as classes são herdadas da classe java.lang.Object, elas são aplicáveis a todos os objetos. Se o método não for coberto, o método na classe Object ainda é chamado e o método equals em Object retorna Mas é o julgamento de ==.
@Test
public void test2(){
String a = "1";
System.out.println("1".equals(a));
}
Três, resumo
1. Quando todas as comparações são iguais, iguais são usados e ao comparar constantes,Constantes são escritas na frente, Como o objeto igual do objeto pode ser nulo, um ponteiro nulo aparece.
2. Na especificação do código de Ali, apenas igual é usado. O plug-in Ali o reconhecerá por padrão e pode ser modificado rapidamente. Recomenda-se instalar Ali plug-in para solucionar problemas de código antigo e usar "==", substituir por igual