Olá a todos,
Preciso verificar se um objeto é de um determinado “tipo”, atualmente estou fazendo a comparação usando o nome do tipo da classe em String.
O código funciona, mas gostaria de saber se estou fazendo certo e se existe uma maneira mais eficiente do que comparar como strings.
Segue o código.
public void teste(Object o) {
Class c = o.getClass();
Field m[] = c.getDeclaredFields();
for (int i = 0; i < m.length; i++) {
m[i].setAccessible(true);
// Aqui faço a comparação para saber se meu objeto é um String
if(m[i].getType().getSimpleName().toString().equals("String")){
m[i].set(o, "TESTE");
}
// Aqui faço a comparação para saber se meu objeto é um Integer
else if(m[i].getType().getSimpleName().toString().equals("Integer")){
m[i].set(o, 123);
}
// [Boolean, Date, etc....]
}
Até mais.