Eu criei uma classe TesteA
: nome, telefone, dataNascimento e para para o método compara quero saber o
valor do atributo nome, telefone e dataNascimento
TesteA obj = new
TesteA("Rita",
"9103", new
Date(System.currentTimeMillis()));
public void compara(Object obj) {
int i =
0;
try {
Class cls = obj.getClass();
BeanInfo beanInfo = Introspector.getBeanInfo(obj.getClass());
PropertyDescriptor props[] = beanInfo.getPropertyDescriptors();
for (i = 0; i
< props.length; i++) {
System.out.println("1
= "+props[0].getName());
System.out.println("2
= "+props[0].getValue(props[0].getName()));
}
1 = telefone
2 = null
1 = telefone
2 = null
1 = telefone
2 = null
Rita Fernandes Ministério da Saúde - DATASUS tel. 21 3974-7147
----- Original Message -----
Sent: Thursday, May 29, 2003 3:48
PM
Subject: Re: [JUG-Petro] reflect
Rita,
nao entendi direito o que vc quer fazer.
Poderia me explicar novamente?
> Marcelo, > > Please,
> > eu estou passando para o metodo compara : >
> TesteA obj = new
TesteA("Rita", "9103", new > Date(System.currentTimeMillis())); >
> Quando eu executo o programa dá esse erro : >
> setter = public void >
teste.reflect.TesteA.setTelefone(java.lang.String) getter =
> public void
teste.reflect.TesteA.setTelefone(java.lang.String) >
java.lang.IllegalArgumentException: object is not an instance of >
declaring class > > public void compara(Object obj) { > int
i = 0; > try { > Class cls =
obj.getClass(); > BeanInfo beanInfo =
Introspector.getBeanInfo(obj.getClass()); >
PropertyDescriptor props[] =
beanInfo.getPropertyDescriptors(); > Method
setter = null; > Method getter =
null; > for (int j = 0; j < props.length;
j++) { > getter =
props[j].getReadMethod(); >
setter =
props[j].getWriteMethod(); >
System.out.println("setter = " +
setter); >
System.out.println("getter = " +
setter); > if (setter !=
null)
{ >
setter.invoke(this, new Object[] { getter.invoke(obj, > new
Object[]{}) });
} break; } } catch
(Throwable > e) { System.err.println(e); } > > Rita
Fernandes > Ministério da Saúde - DATASUS > tel. 21 3974-7147
> > ----- Original Message ----- > From: Marcelo de
Mattos Mayworm > To: [EMAIL PROTECTED] > Sent:
Thursday, May 29, 2003 12:04 PM > Subject: Re: [JUG-Petro]
reflect > > Ola Rita, > > de uma olhada em http://jakarta.apache.org/commons/beanutils/api/ >
> Acredito que o uso do BeanUtils ira ajudar bastante vc. >
> []'s > Marcelo Mayworm > Java User Group
Petropolis > > > public boolean compara(Object o, Object o2)
{ > > } > > > > Eu quero pegar o valor do atributo
via refletion e comparar se eles > > sao iguais .... > >
> > Em relacao a pegas os metodos, construtores, campos tudo bem
..... > > > > Mas como pegar o conteudo da variavel. Alguem
tem algum exemplo ? > > > > Class c1 =
obj1.getClass(); > > > > Method[] methods =
c1.getDeclaredMethods(); > > > > Field[] fields =
c1.getFields(); > > > > Constructor[] constructors =
c1.getConstructors(); > > > >
System.out.println("\nMethods:"); > > > > for (int i = 0; i
< methods.length; ++i) { > > > > System.out.println(" "
+ methods[i]); > > > > } > > > >
System.out.println("\nFields:"); > > > > for (int i = 0; i
< fields.length; ++i) { > > > > System.out.println(" " +
fields[i]); > > > > } > > > >
System.out.println("\nConstructors:"); > > > > for (int i =
0; i < constructors.length; ++i) { > > > >
System.out.println(" " + constructors[i]); > > > >
} > > > >
System.out.println("**************************************"); > >
> > Class c2 = obj2.getClass(); > > > > methods =
c2.getDeclaredMethods(); > > > > fields =
c2.getFields(); > > > > constructors =
c2.getConstructors(); > > > >
System.out.println("\nMethods:"); > > > > for (int i = 0; i
< methods.length; ++i) { > > > > System.out.println(" "
+ methods[i]); > > > > } > > > >
System.out.println("\nFields:"); > > > > for (int i = 0; i
< fields.length; ++i) { > > > > System.out.println(" " +
fields[i]); > > > > } > > > >
System.out.println("\nConstructors:"); > > > > for (int i =
0; i < constructors.length; ++i) { > > > >
System.out.println(" " + constructors[i]); > > > >
} > > > > Rita Fernandes > > Ministério da Saúde -
DATASUS > > tel. 21 3974-7147 > > Marcelo de Mattos
Mayworm > Tel.: 0xx21 9392-3864 >
[EMAIL PROTECTED] > > Conhecendo-se a quietude, pode-se
possuir a estabilidade. > Conhecendo a estabilidade, pode-se encontrar
a serenidade. > Conhecendo a serenidade, pode-se encontrar a paz.
> Possuindo a paz, então pode-se pensar. > E podendo pensar,
pode-se agir. > Mêncio (Filósofo chinês) > > Yahoo! Groups
Sponsor > > To unsubscribe from this group, send an email
to: > [EMAIL PROTECTED] > > Your
use of Yahoo! Groups is subject to the Yahoo! Terms of
Service.
Marcelo de Mattos Mayworm Tel.: 0xx21
9392-3864 [EMAIL PROTECTED]
Conhecendo-se a
quietude, pode-se possuir a estabilidade. Conhecendo a estabilidade,
pode-se encontrar a serenidade. Conhecendo a serenidade, pode-se encontrar
a paz. Possuindo a paz, então pode-se pensar. E podendo pensar, pode-se
agir. Mêncio (Filósofo chinês)
Yahoo! Groups
Sponsor |
ADVERTISEMENT
![Click Here!]() | |
![]() | To
unsubscribe from this group, send an email
to: [EMAIL PROTECTED]
Your
use of Yahoo! Groups is subject to the Yahoo! Terms of Service.
|