通过反射确定类成员的类型

时间:2013-02-17 16:44:16

标签: java reflection types type-conversion

我使用下面的代码来确定类成员类型,我已经看过所有的内省方法但是还没有弄清楚如何在我的代码中找到类型如字符串,BigDecimal,日期等等你可以看到我检查原语并调用处理它的方法。 1.我想对字符串,BigDecimal,fieldTypeName,java.util.Date等做同样的事情我应该怎么做?

  1. 如何调用此类型?
  2. 对于泛型类型,例如jobList,我使用genericType handler ...

    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();
    
                        boolean primitive = field.getType().isPrimitive();
                        handlePrimtive();
    
      

    if(genericType instanceof ParameterizedType){

    这是班级

    @Entity
    public class Person {
    @Id
    @GeneratedValue(strategy = GenerationType.TABLE)
    private int id;
    private String firstName;
    private BigDecimal bigDecimal;
    private java.util.Date myDate;
    private List<Job> jobList = new ArrayList<Job>();
    

1 个答案:

答案 0 :(得分:1)

Class <?> type = field.getType ();
if (String.class.equals (type)) handleString ();
else if (Date.class.equals (type)) handleDate ();
...