Vérifiez dans la réflexion si le type est primitif ou le type de l'objet

Im en utilisant le code suivant pour trouver les membres de la classe, dans la réflexion qui sont primitives et d'un objet ,ma question est il y a un moyen d'identifier si le champ est de type primitif ,un objet ,une classe de référence parce que je veux l'appel à la méthode spécifique selon le type.
par exemple, si le champ est primitif appel à handlePrimitive si le type de champ d'un autre type de référence (dans l'exemple ci-dessous SalesOrderItemPK primaryKey; )appel à la méthode handleClassReferance etc

viens de comprendre j'ai besoin d'obtenir la classe et invistigate et de créer des données selon le type de membre...

for (Object clsObj : listClsObj) {
        Field[] declaredFields = clsObj.getClass().getDeclaredFields();
        numOfEntries = 1;
        do {
            Object newInstance = clsObj.getClass().newInstance();

            for (Field field : declaredFields) {

                //Get member name & types

                Class<?> fieldType = field.getType();
                Type genericType = field.getGenericType();
                String fieldTypeName = fieldType.getName();
                String memberName = field.getName();


                if (genericType instanceof ParameterizedType) {
                    ParameterizedType pt = (ParameterizedType) genericType;
                    for (Type typeOfReferance : pt.getActualTypeArguments()) {

                        String classTypeName = typeOfReferance.toString();
                        String[] parts = classTypeName.split(" ");
                        memberReferance = parts[1];

ici, je veux appel à la méthode spécifique qui peut gérer les champs selon les types de données

public static SwitchInputType<?> switchInput(final String typeName, final String memberName, final int cnt) {
    if (typeName.equals("java.lang.String")) {
        return new SwitchInputType<String>(new String(memberName + " " + cnt));
    } else if (typeName.equals("char")) {
        return new SwitchInputType<Character>(new Character('a'));

la classe par exemple, devrait ressembler à ceci et j'ai besoin de savoir pour primaryKey la clé pour créer un objet.

@Entity
public class SalesOrderItem 
{
    @EmbeddedId
    SalesOrderItemPK primaryKey; 
    private String ProductId;
    private String Notes;

OriginalL'auteur John Jerrby | 2013-02-17