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



我使用以下代码来确定类成员类型,我已经看到了所有的内省方法,但还没有完全弄清楚如何对字符串、BigDecimal、日期等类型进行内省。在我的代码中,你可以看到我检查基元并调用处理它的方法。1.我想对string、BigDecimal、fieldTypeName、java.util.Date等做同样的操作,我应该怎么做?

  1. 这种类型是如何命名的

对于像jobList这样的泛型类型,我使用genericType处理程序。。。

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 instanceofParameterizedType){

这是类

@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>();
Class <?> type = field.getType ();
if (String.class.equals (type)) handleString ();
else if (Date.class.equals (type)) handleDate ();
...

相关内容

  • 没有找到相关文章

最新更新