Comparar vários campos de um mesmo ojbeto

Pessoal,

Estou com uma dúvida.

Tenho 5 campos númericos em um objeto, e preciso verificar se todos eles são iguais.

Qual a melhor forma de fazer isso?

Obrigado,

Bem vindo ao GUJ!

Depende de como sao estes seus campos.

Se forem variaveis privadas, vc terá que criar um método público que faça esta comparação.

ou vc pode fazer a comparação pelos Getters dos campos, se possuírem.

Coloque mais informações sobre como estão os objetos. Assim fica mais fácil do pessoal ajudar.

Você tem só esses 5 campos no objeto? E eles denotam todas as propriedades desse objeto?

Você pode sobrescrever o método equals ou fazer um método de comparação na classe do objeto. Tipo, método compararObjeto(Objeto o) e verificar lá dentro.

Eu pelo menos acho que fica mais fácil.

Abraço.

Deixa eu ver se consigo explicar melhor o que eu estou tentando fazer…

É um objeto de produto, e dentro tem um id, descrição e 5 valores de preço separados.

Eu estou iterando uma lista desse objeto, e para cada resultado, eu preciso ver se os 5 valores são iguais. Somente isso.

É pra um report. Vou visualizar esses 5 campos, e se forem iguais preciso setar um true em um boolean.

PS: Andre Brito, belo avatar… Cobra é o cara!! :lol:

Bom,

se vc vai fazer esta comparação somente na montagem da lista, pode ser um método da classe que faz esta listagem recebendo como parametro os gets dos valores numericos.

Agora se vc pretende usar esta comparação pra outras coisas, acho melhor fazer o metodo de comparacao na classe de produto mesmo.

[quote=thiagps]Deixa eu ver se consigo explicar melhor o que eu estou tentando fazer…

É um objeto de produto, e dentro tem um id, descrição e 5 valores de preço separados.

Eu estou iterando uma lista desse objeto, e para cada resultado, eu preciso ver se os 5 valores são iguais. Somente isso.[/quote]
Acho que se você não vai usar pra outra coisa… deveria fazer fora de Produto. Mas se você acha que isso pode vir a ser necessário, faz em Produto. Isso é mais uma questão de design do que de código.

TROO :slight_smile:

Abraço.

[quote=Andre Brito]Acho que se você não vai usar pra outra coisa… deveria fazer fora de Produto. Mas se você acha que isso pode vir a ser necessário, faz em Produto. Isso é mais uma questão de design do que de código.
[/quote]

Entendi. Acho que vou fazer fora. Só vou usar pra isso mesmo.

Vc teria alguma sugestão de código pra fazer essa comparação?

So complementando,
Pela OO, objetos devem agir sobre os seus dados. Se não, o metodo equals poderia estar em uma classe utilitaria que recebesse 2 objetos.
Seu metodo deve estar dentro do Produto, é dele a responsabilidade de fazer a comparação.

[]´s

Além do que, já podes fazer um método que já retorne o booleano

public boolean comparaPreco(){ // Código aqui }

Falows :wink: