[RESOLVIDO]Dúvida em comparação de objeto

4 respostas
R

Um objeto Integer deve ser comparado com:
.equals(null)
ou
==null?

Ou os dois são corretos?

4 Respostas

drsmachado

renlih:
Um objeto Integer deve ser comparado com:
.equals(null)
ou
==null?

Ou os dois são corretos?


Neste caso, use o ==, afinal, se ele for nulo, você não consegue invocar o método equals (ou qualquer outro método).

S

renlih:
Um objeto Integer deve ser comparado com:
.equals(null)
ou
==null?

Ou os dois são corretos?

já ouviu falar de .equals?

pois é aprendi nos livros também.

pra comparar objetos use:

objeto.equal (outroObjeto)

e pro aí vai, testa ai para ver

R

Só queria comparar um Integer para saber se ele está nulo,
Valeu pela explicação.

SnakeMaster:
renlih:
Um objeto Integer deve ser comparado com:
.equals(null)
ou
==null?

Ou os dois são corretos?

já ouviu falar de .equals?

pois é aprendi nos livros também.

pra comparar objetos use:

objeto.equal (outroObjeto)

e pro aí vai, testa ai para ver

drsmachado

SnakeMaster:
renlih:
Um objeto Integer deve ser comparado com:
.equals(null)
ou
==null?

Ou os dois são corretos?

já ouviu falar de .equals?

pois é aprendi nos livros também.

pra comparar objetos use:

objeto.equal (outroObjeto)

e pro aí vai, testa ai para ver


Você está errado.
Se você tiver
Vamos supor que você tenha um método que chama o método calcularAreaQuadrado, que recebe uma instância de um Integer:

...
Integer x = null;
//Não lê o valor de x de lugar algum e faz a chamada
calculaAreaQuadrado(x);
//No método
public void calculaAreaQuadrado(Integer x){
    if(!x.equals(null)){//Aqui você tem um NullPointerException
        System.out.println("A área é: " + (x * x));
    } else {
        System.out.println("Valor informado inválido");
    }
}

Se você não usar

x == null

Você terá uma exceção desnecessária.

Criado 3 de setembro de 2013
Ultima resposta 4 de set. de 2013
Respostas 4
Participantes 3