Tenho uma classe PessoaFisica e uma classe pessoa Juridica, ambas herdam da classe cliente cujo atributo identificar é o código
estou criando um método para verificar se já existe o elemento na lista(conferindo o codigo), e se nao existir adicionar o obj passado como parametro
o metodo e o seguinte
public void salvar(Cliente obj){
if(Dados.listaClientes.contains(obj)!= true) { Dados.listaClientes.add(obj); System.out.println("item adicionado"); } else { System.out.println("impossivel adicionar"); } }
estou substituindo o metodo equals na classe cliente da seguinte maneira
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}if(this.getCodigo()==((Cliente)obj).getCodigo()){ return true; } return true; }
nao estou tendo erro de compilaçao, mas simplesmente o metodo nao funciona, adiciona mesmo com elementos em codigos iguais
assim esta meu teste
public static void main(String[] args) {
{
{DaoPessoaJuridica dao = new DaoPessoaJuridica(); PessoaJuridica c1 = new PessoaJuridica(10,"Daniel","ovidio vilela","993911490","F","46353698895",151515); PessoaJuridica c2 = new PessoaJuridica(10,"Daniel","ovidio vilela","993911490","F","4635369895",151515); PessoaFisica c3 = new PessoaFisica(10,"Daniel","ovidio vilela","993911490","F","4635369895"); dao.salvar(c1); dao.salvar(c2); dao.salvar(c3); // Dados.listaClientes.add(c1); System.out.println(Dados.listaClientes.toString()); } }}
Qual problema com o codigo ?