2つの反射方式はbeanの値を取得する(第1はすべて文字列タイプを返し、第2は元のデータタイプを返す)
1343 ワード
/**
*
*
* @param obj
* @return
* @throws Exception
*/
private static StringBuffer getValue2Bean(Object obj) throws Exception {
Field[] fields = obj.getClass().getDeclaredFields();
StringBuffer value = new StringBuffer();
Object v = null;
for (Field field : fields) {
// v = BeanUtils.getProperty(obj, field.getName());// ( )
v = ReflectUtil.getFieldValue(obj, field.getName());// ( )
if (v == null) {
value.append("," + v);
} else {
if (v instanceof String) {
value.append(",'" + v + "'");
} else if (v instanceof Date) {
value.append(",'" + DateUtil.getDateStr((Date) v) + "'");
} else {
value.append("," + v);
}
}
}
value = value.deleteCharAt(0);
return value;
}
String v = BeanUtils.getProperty(obj, field.getName());// ( )
Object object = ReflectUtil.getFieldValue(obj, field.getName());// , , ,