怎么判断一个对象里的属性是否都为空的,或者判断该对象是否是一个实体!
我明白你的意思,这得根据不同类型来校验:
//前面省略,直接从类型开始,根据类型来处理
//获取Field的类型
Class<?> type = class.getDeclaredField(item_name).getType();
//判断Field类型
if(type == String.class){
// 校验是否为null
}else if(type == int.class){
// 校验是否为0
}else if(……) {
// …… 下面都差不多,在此不多写了
++
完善下:
/**
*
* 获取对象属性,返回一个字符串数组
*
* @param o对象
* @return String[] 字符串数组
*/
private static String[] getFiledName(Object o) {
try {
Field[] fields = o.getClass().getDeclaredFields();
String[] fieldNames = new String[fields.length];
for (int i = 0; i < fields.length; i++) {
fieldNames[i] = fields[i].getName();
}
return fieldNames;
} catch (SecurityException e) {
e.printStackTrace();
System.out.println(e.toString());
}
return null;
}
/**
*
* 使用反射根据属性名称获取属性值
*
*
*
* @param fieldName
* 属性名称
*
* @param o
* 操作对象
*
* @return Object 属性值
*/
public static Object getFieldValueByName(String fieldName, Object o) {
try {
String firstLetter = fieldName.substring(0, 1).toUpperCase();