Implementação de collection  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
spycall
JavaTeenager
[Avatar]

Membro desde: 26/04/2005 14:29:59
Mensagens: 189
Localização: São paulo
Offline

Olá, estou com uma dúvida.

tenho uma collection de objetos que possuem o metodo getValue();

Gostaria de fazer uma classe MyCollection que quando eu executar um método ele fizesse a soma dos valores, exemplo :



Minha dúvida está em como fazer a implementação para que o método soma use o metodo getValue dos objetos ?

No mundo existem 10 tipos de pessoas, as que conhecem e as que não conhecem binário.
[MSN]
thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

Se esses tais objetos que têm o método "getValue()" implementarem uma interface que tem o método getValue:

aí é bem mais fácil, e você nem precisa ter uma classe MyCollection. Simplesmente crie um método que pega a tal collection e soma os valores dos objetos que implementam IValue.

Se você não pode alterar as classes dos objetos para que implementem a tal interface, então fica muito mais lento, porque você precisa checar objeto por objeto, usando reflection, se ele tem um método chamado getValue, e se ela não tem parâmetros e retorna double. Isso é lento.
[WWW]
nicoweda
JavaChild
[Avatar]

Membro desde: 04/04/2005 10:44:40
Mensagens: 122
Offline

Eu acredito que a logica a ser utilizada é essa mesma, porem eu utilizaria os recursos do Java 5 a nosso favor, vejam o código abaixo como é mais limpo e faz praticamente a mesma coisa...



Lendo em miudos, o metodo some recebe um List de qualquer Objeto que passe no teste instanceOf (É UM) de IValue.
Em seguida utilizamos o for aprimorado para trabalhar com a Collection.

MAs vale lembrar de que isso só funciona se estiver utilizando a versão 5 do Java!!!
Um grande abraço!!

Bruno Nicoletti Siqueira
[MSN]
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team