Equals[RESOLVIDO]

3 respostas
williamdasflores

Alguem pode me explicar pra que serve o comando 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.

williamdasflores

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