Java 判断Object对象的所有属性值是否为空。

问题:实例化一个对象,对象特定的属性值存在(主键),其他的属性值全部为null。

要求:编写一个属性验证工具类,排除特性属性返回Boolean 标识,判断对象其他的属性是否为null 值。

package ****;

import java.lang.reflect.Field;
import java.util.List;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class ObjectFildValidate {
	
	public static final Logger logger = LoggerFactory.getLogger(ObjectFildValidate.class);
	/**
	 * 
	 * @Title: validateFild   
	 * @Description: 检查指定对象的属性值是否为空,排除指定的属性值   
	 * @param: @param object
	 * @param: @param exclFild
	 * @param: @return      
	 * @return: boolean      
	 * @throws
	 */
	public static boolean validateFild(Object object, List exclFild){
		boolean target = false;
		for (Field f : object.getClass().getDeclaredFields()) {
		    f.setAccessible(true);
		    try {
		    	String name = f.getName();
		    	// 判断属性名称是否在排除属性值中
		    	if(!exclFild.contains(name)){
		    		if (f.get(object) != null) { //判断字段是否为空,并且对象属性中的基本都会转为对象类型来判断
						   target = true;
						   break;
					}
		    	}
			} catch (IllegalArgumentException e) {
				target = false;
				logger.error("对象属性解析异常" + e.getMessage());
				return target;
			} catch (IllegalAccessException e) {
				// TODO Auto-generated catch block
				target = false;
				logger.error("对象属性解析异常" + e.getMessage());
				return target;
			}
		}
		
		return target;
	}

}

 

你可能感兴趣的:(深蓝计划)