Valor de campo com Reflection

Existe alguma maneira de eu saber dinamicamente qual o tipo de um Field e pegar esse valor?

A unica maneira que consegui fazer é se vc sabe qual o tipo do Field… No caso, eu não tenho como saber e precisaria pegar esse valor … Tem como?

Invoque o método get pertinente a field.

sim… Até ai eu sei…

O problema é que os campos podem ter tipos primitivos ou não…

O método get pede um parametro Object para ele passar a referencia do valor do Field… e quando passo um Object recebo um java.lang.IllegalArgumentExceptio.

 Field[] f = data.get(rowIndex).getClass().getDeclaredFields();

        try {
            f[columnIndex].setAccessible(true);

            Object b = new Object();

            f[columnIndex].get(b);

            return b;
        } catch (Exception e) {
            e.printStackTrace();
        }

Erro:
java.lang.IllegalArgumentException: Can not set int field MyBeans.FuncionarioShort.rg to java.lang.Object
at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:146)
at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:150)
at sun.reflect.UnsafeFieldAccessorImpl.ensureObj(UnsafeFieldAccessorImpl.java:37)

Voce pode passar Object.class, e no caso dos primitivos passe como Integer.class, Double.class e etc…