我想打印所有類的屬性及其名稱和值。我已經使用反射,但getFields
給我0針對私有成員的java反射getFields動態訪問對象名稱值
RateCode getMaxRateCode = instance.getID(Integer.parseInt((HibernateUtil
.currentSession().createSQLQuery("select max(id) from ratecodes")
.list().get(0).toString())));
for (Field f : getMaxRateCode.getClass().getFields()) {
try {
System.out.println(f.getGenericType() + " " + f.getName() + " = "
+ f.get(getMaxRateCode));
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
RateCode.java
private Integer rateCodeId;
private String code;
private BigDecimal childStay;
private DateTime bookingTo;
private Short minPerson;
private Boolean isFreeNightCumulative = false;
private boolean flat = false;
private Timestamp modifyTime;
你的'RateCode'看起來像什麼? – asgs 2011-05-09 12:21:12
你去了。你的領域沒有一個是「公共」的。見@彼得的答案。 – asgs 2011-05-09 12:26:37