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