我使用下面的代码来确定类成员类型,我已经看过所有的内省方法但是还没有弄清楚如何在我的代码中找到类型如字符串,BigDecimal,日期等等你可以看到我检查原语并调用处理它的方法。 1.我想对字符串,BigDecimal,fieldTypeName,java.util.Date等做同样的事情我应该怎么做?
对于泛型类型,例如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>();
答案 0 :(得分:1)
Class <?> type = field.getType ();
if (String.class.equals (type)) handleString ();
else if (Date.class.equals (type)) handleDate ();
...