Olá, gostaria de saber como eu posso efetuar a comparação entre dados, no qual se os dados forem iguais não posso criar outro objeto, como exemplo:
crio objetos Clientes, agora quero tenho que cadastrar outro cliente, porém se já existir um cliente igual não posso criar outro objeto Cliente, estou tentando fazer mas sem sucesso.
Você pode guardar os seus clientes em uma lista e toda vez que você for criar um novo cliente você percorre a lista e compara o cliente que você está tentando criar com todos os clientes, se o equals(obj) retornar true ai é só não criar.
[quote=jalonso]como está o seu código ? vc tem que comparar o atributo Id dos dois objetos. Clientes no caso.
[/quote]
public class Clientes{
private Long getId();
public Long getId(){
return id;
}
public boolean equal(Object object){
if (this.getId() == (Clientes)obejct.getId()){
return true;
}
else{
return false;
}
}
[quote=Michael Myers][quote=jalonso]o nome correto do metodo é “equals”. Eu digitei errado e vc acabou copiando errado creio eu. rs.
[/quote]
Então, esta dando o mesmo erro(Tipos incompatíveis).[/quote]
Ae conseguir arrumar o método;), então só mais uma dúvida, o minha aplicação vai gravar os dados em memoria RAM mesmo(apenas um teste), gostaria de saber como eu posso fazer, a criação dos objetos clientes, por exemplo: irei cadastrar outro clientes, assim vai criar um objeto cliente, queria saber como eu posso fazer isso, sem ter que ficar dando new direto no código, e sim automaticamente, na hora que o usuário cadastrar outro cliente.
Acho que o que o outro comentário falou já ajuda, vc cria uma List do tipo cliente, e todas vez que o usuario te passar um cadastro novo vc da um “add”. Mas o de qqr forma vc tem que receber um paramentro do tipo Cliente.
Sim, entendi, mas por exemplo: sempre que o usuário for cadastrar um novo cliente, tenho que dar um new no código, gostaria de saber se não tem como fazer isso automaticamente, chamar o método registrar, e criar um objeto de Clientes.
mais ou menos assim ? lógico tera que pensar melhor na lógica rs.
public class Cadastro{
Cadastro(){
this.clientes = new ArrayList<Cliente>();
}
List<Clientes> clientes;
public void adiciona(Cliente cliente){
this.cliente.add(cliente);
}}
public static void main (String args[]){
Cadastro cadastro = new Cadastro();
Cliente cliente = new Cliente();
//recebe as informações do cliente;
//da set no cliente
cadastro.adiciona(cliente);
}
Então galera valeu mesmo pela ajuda a comparação deu certo, mas ainda tenha uma dúvida, é o seguinte: gostaria que o programa fosse assim, o usuário cadastrava o cliente, e o programa já criava um objeto de Clientes, criar automaticamente. Tentei, procurei mas não deu certo, aliás estou tentando ainda;)