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

阿里 阅读:1569 2021-03-31 20:58:38 评论:0

问题:实例化一个对象,对象特定的属性值存在(主键),其他的属性值全部为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; 
	} 
 
} 

 

声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号