Alguem pode me explicar pra que serve o comando equals?
[RESOLVIDO]
Equals[RESOLVIDO]
3 Respostas
E
equals (“igual” em inglês) é um método que permite dizer se duas variáveis apontam para o mesmo objeto, ou então se os objetos têm valores iguais.
(Quanto aos valores iguais isso não é uma coisa automática; cada classe que pretenda usar “equals” com o significado “comparar 2 objetos, de forma que seus valores sejam iguais” tem de reimplementar o método equals.
tem como me da um exemplo?
M
Carro c1 = new Carro("UNO");
Carro c2 = new Carro("UNO");
if(c1 == c2) //false
System.out.println("c1 == c2");
if(c1.equals(c2)) //true -> Se carro sobrescreve equals de Object
System.out.println("c1.equals(c2)");
Classe Carro:
public class Carro{
private String modelo;
public Carro(String modelo){
this.modelo = modelo;
}
//EQUALS e HASHCODE
@Override
public int hashCode() {
return ((modelo== null) ? 0 : modelo.hashCode());
}
@Override
public boolean equals(Object obj) {
if (this == obj)//mesma instancia
return true;
if (obj == null)//objeto null sempre igual a false
return false;
if (getClass() != obj.getClass())//são de de classes diferentes
return false;
Carro other = (Carro) obj;
if (modelo== null) {
if (other.modelo!= null)
return false;
} else if (!modelo.equals(other.modelo))
return false;
return true;
}
}
Criado 5 de junho de 2010
Ultima resposta 6 de jun. de 2010
Respostas 3
Participantes 3
Alura Sistemas operacionais: entenda seu conceito e suas funções Descubra o que são sistemas operacionais, suas funções e tipos. Aprenda tudo de forma clara e objetiva. Não perca tempo!
Casa do Codigo Orientacao a Objetos: Aprenda seus conceitos e suas... Por Thiago Leite e Carvalho — Casa do Codigo