首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

如何判断一个对象里的属性是否都为空的

2013-01-23 
怎么判断一个对象里的属性是否都为空的怎么判断一个对象里的属性是否都为空的,或者判断该对象是否是一个实

怎么判断一个对象里的属性是否都为空的
怎么判断一个对象里的属性是否都为空的,或者判断该对象是否是一个实体!
[解决办法]

引用:
怎么判断一个对象里的属性是否都为空的,或者判断该对象是否是一个实体!

我明白你的意思,这得根据不同类型来校验:

                //前面省略,直接从类型开始,根据类型来处理              
                //获取Field的类型   
                Class<?> type = class.getDeclaredField(item_name).getType();
                //判断Field类型
                if(type == String.class){
                    // 校验是否为null
                }else if(type == int.class){
                    // 校验是否为0
                }else if(……) {
                // …… 下面都差不多,在此不多写了

[解决办法]
引用:
引用:怎么判断一个对象里的属性是否都为空的,或者判断该对象是否是一个实体!
我明白你的意思,这得根据不同类型来校验:
Java code?12345678910                //前面省略,直接从类型开始,根据类型来处理                              //获取Field的类型        ……


++ 
完善下:


/**
 * 
 * 获取对象属性,返回一个字符串数组
 * 
 * @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();


String getter = "get" + firstLetter + fieldName.substring(1);
Method method = o.getClass().getMethod(getter, new Class[] {});
Object value = method.invoke(o, new Object[] {});
return value;
} catch (Exception e) {
System.out.println("属性不存在");
return null;
}
}

热点排行