Boa tarde…to com uma dúvida sobre comparação de objetos
Eu tenho duas classes e utilizo o método .equals() mas a comparação não funciona. Eu tenho que reescrever esse método ?
Por exemplo:
class ClasseA{
int a;
ClasseA(){
this.a = 1;
}
ClasseA(int a){
this.a = a;
}
//sei lah
}
class ClasseB{
//sei lah
}
public class TesteComparacao {
public static void main(String[] args) {
ClasseA classeA1 = new ClasseA();
ClasseA classeA2 = new ClasseA();
if (classeA1.equals(classeA2)){
//entra
}
ClasseB classeB1 = new ClasseB();
ClasseB classeB2 = new ClasseB();
if (classeB1.equals(classeB2)){
//entra
}
}
}
para funcionar a comparação da ClasseA, ela teria q ficar assim: ?
class ClasseA{
int a;
ClasseA(){
this.a = 1;
}
ClasseA(int a){
this.a = a;
}
@Override
public boolean equals(Object obj) {
if (this.a == ((ClasseA) obj).a){
return true;
}else{
return false;
}
}
}
valeu!!!