1
我使用下面的代码来确定类成员类型,我已经看到了所有的自省方法,但还没有完全想出如何为类型如字符串,BigDecimal,日期等。在我的代码中,你可以看到我检查了原语并调用处理它的方法。 1.我想为字符串,BigDecimal,fieldTypeName,java.util.Date等做同样的事情,我应该怎么做?通过反射确定类成员的类型
- 这种类型被称为?
为通用类型,例如作业表我使用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();
如果(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>();
有没有通用的方式来处理它?如原始的,因为在这里我需要问每个类型的显式,我不知道我知道所有类型,因为这个类的人是例如,但我可以得到任何类型的附加字段... – 2013-02-17 16:51:56
@JohnJerrby也许我不会不明白你的意思是什么“类型,如String,BigDecimal,Date等”,特别是其他类型转到“etc”。你能澄清还是只列出所有“这样的类型”? – 2013-02-17 17:07:09
这是问题,因为我不知道他们完全是例如如果类成员是类型对象我hadnle它与泛型如果原始我使用is.primitive知道,但对于“其他类型”我不知道我知道他们所有人因此我想以某种方式分散他们,他们如何在Java中调用这种类型的字符串,BigDecimal,日期等? – 2013-02-17 17:16:34