精华内容
下载资源
问答
  • Java 判断对象及对象中属性是否为空

    万次阅读 2019-09-18 09:08:37
    import java.lang.reflect.Field; /** * Created by hj. */ public class VoUtilsTool { ... * @return 如果对象为空,且没有空值。返回false,对象为空或者有空值,返回true * */ public...
    package com.ax.util;
    
    import java.lang.reflect.Field;
    /**
     * Created by hj.
     */
    
    public class VoUtilsTool {
    /****
     * @param object 对象
     * @return 如果对象不为空,且没有空值。返回false,对象为空或者有空值,返回true
     * */
       public static boolean checkObjFieldIsNull(Object object) throws IllegalAccessException{
          boolean flag = false;
          if(null!=object){
             for(Field field : object.getClass().getDeclaredFields()){
                field.setAccessible(true);//在用反射时访问私有变量(private修饰变量)
                if(field.get(object) == null || field.get(object).equals("")){
                   flag = true;
                   return flag;
                }
                if(field.get(object) != null&&field.get(object).toString().trim().equals("")){
                   flag = true;
                   return flag;
                }
             }
          }else{
             flag=true;
          }
          return flag;
       }
    }
    
    展开全文
  • JAVA判断对象以及属性值是否为空

    千次阅读 2020-12-18 11:45:27
    JAVA判断对象以及属性值是否为空 import java.lang.reflect.Field; import lombok.extern.slf4j.Slf4j; import org.springframework.util.StringUtils; /** * @author Tate * @date 2020-12-18 11:10 * @title ...

    JAVA判断对象以及属性值是否为空

    import java.lang.reflect.Field;
    import lombok.extern.slf4j.Slf4j;
    import org.springframework.util.StringUtils;
    
    /**
     * @author Tate
     * @date 2020-12-18 11:10
     * @title 判断对象中属性值是否全为空
     * 1、判断实体对象是否为空
     * 2、判断对象所有属性是否为空
     * 3、特别注意,实体类中如果有基本数据类型,会影响判断
     */
    @Slf4j
    public class ObjectIsNullUtil {
    
        /**
         * 判断对象中属性值是否全为空
         *
         * @param object
         * @return
         */
        public static boolean checkObjectFieldIsNull(Object object) {
            if (null == object) {
                log.error("The entity object is empty.");
                return false;
            }
    
            try {
                for(Field field : object.getClass().getDeclaredFields()){
                    field.setAccessible(true);
                    if(StringUtils.isEmpty(field.get(object))){
                        log.error("The property in the object is null. attribute name: {}", field.getName());
                        return false;
                    }
                }
            } catch (Exception e) {
                e.printStackTrace();
                log.error("Object and attribute values failed. error: {}", e.getMessage());
                return false;
            }
            return true;
        }
    }
    
    
    展开全文
  • java 判断对象是否为空

    万次阅读 2014-04-26 11:25:02
    java 中如何判断对象是否为空呢,特别是一个weizhi

    java 中如何判断对象是否为空呢,特别是一个未知的对象?

    下面是一个通用的方法,判断字符串是否为空,集合是否为空,数组是否为空:

    /**
    	 * 判断对象或对象数组中每一个对象是否为空: 对象为null,字符序列长度为0,集合类、Map为empty
    	 * 
    	 * @param obj
    	 * @return
    	 */
    	public static boolean isNullOrEmpty(Object obj) {
    		if (obj == null)
    			return true;
    
    		if (obj instanceof CharSequence)
    			return ((CharSequence) obj).length() == 0;
    
    		if (obj instanceof Collection)
    			return ((Collection) obj).isEmpty();
    
    		if (obj instanceof Map)
    			return ((Map) obj).isEmpty();
    
    		if (obj instanceof Object[]) {
    			Object[] object = (Object[]) obj;
    			if (object.length == 0) {
    				return true;
    			}
    			boolean empty = true;
    			for (int i = 0; i < object.length; i++) {
    				if (!isNullOrEmpty(object[i])) {
    					empty = false;
    					break;
    				}
    			}
    			return empty;
    		}
    		
    		return false;
    	}

    上述方法运用了递归,当对象是数组时又调用自身.

    测试:

    @Test
    	public void test_isNullOrEmpty(){
    		String input1=null;
    		String input3="";
    		String input4=" ";
    		String input5="a";
    		String input6="   ";
    		String[] strs1 = new String[] { "a" };
    		String[] strs2 = new String[] { "", "" };
    		String[] strs3 = new String[] { "", "c" };
    		String[] strs4 = new String[] {};
    		org.junit.Assert.assertEquals(true, ValueWidget.isNullOrEmpty(input1));
    		org.junit.Assert.assertEquals(true, ValueWidget.isNullOrEmpty(input3));
    		org.junit.Assert.assertEquals(false, ValueWidget.isNullOrEmpty(input4));
    		org.junit.Assert.assertEquals(false, ValueWidget.isNullOrEmpty(input5));
    		org.junit.Assert.assertEquals(false, ValueWidget.isNullOrEmpty(input6));
    		
    		org.junit.Assert.assertEquals(false, ValueWidget.isNullOrEmpty(strs1));
    		org.junit.Assert.assertEquals(true, ValueWidget.isNullOrEmpty(strs2));
    		org.junit.Assert.assertEquals(false, ValueWidget.isNullOrEmpty(strs3));
    		org.junit.Assert.assertEquals(true, ValueWidget.isNullOrEmpty(strs4));
    	}

    那么如何判断一个自定义对象属性是否全为空呢?(这里只考虑对象的属性全为基本类型)?

    代码如下:

    /***
    	 * Determine whether the object's fields are empty
    	 * 
    	 * @param obj
    	 * @param isExcludeZero  :true:数值类型的值为0,则当做为空;----false:数值类型的值为0,则不为空
    	 * 
    	 * @return
    	 * @throws SecurityException
    	 * @throws IllegalArgumentException
    	 * @throws NoSuchFieldException
    	 * @throws IllegalAccessException
    	 */
    	public static boolean isNullObject(Object obj, boolean isExcludeZero)
    			throws SecurityException, IllegalArgumentException,
    			NoSuchFieldException, IllegalAccessException {
    		List<Field> fieldList = ReflectHWUtils.getAllFieldList(obj.getClass());
    		boolean isNull = true;
    		for (int i = 0; i < fieldList.size(); i++) {
    			Field f = fieldList.get(i);
    			Object propertyValue = null;
    			try {
    				propertyValue = getObjectValue(obj, f);
    			} catch (NoSuchFieldException e) {
    				e.printStackTrace();
    			}
    
    			if (!ValueWidget.isNullOrEmpty(propertyValue)) {// 字段不为空
    				if (propertyValue instanceof Integer) {// 是数字
    					if (!((Integer) propertyValue == 0 && isExcludeZero)) {
    						isNull = false;
    						break;
    					}
    				} else if (propertyValue instanceof Double) {// 是数字
    					if (!((Double) propertyValue == 0 && isExcludeZero)) {
    						isNull = false;
    						break;
    					}
    				}else if (propertyValue instanceof Float) {// 是数字
    					if (!((Float) propertyValue == 0 && isExcludeZero)) {
    						isNull = false;
    						break;
    					}
    				}else if (propertyValue instanceof Short) {// 是数字
    					if (!((Short) propertyValue == 0 && isExcludeZero)) {
    						isNull = false;
    						break;
    					}
    				}else {
    					isNull = false;
    					break;
    				}
    			}
    		}
    		return isNull;
    	}
    
    ValueWidget.isNullOrEmpty 的类com.string.widget.util.ValueWidget.ValueWidget:见 

    http://download.csdn.net/detail/hw1287789687/7255307
    测试:

    package com.test.bean;
    
    import java.sql.Timestamp;
    
    public class Person2 {
    	private int id;
    	private int age;
    	private double weight;
    	private String personName;
    	private Timestamp birthdate;
    	public String identitify;
    	protected String address;
    	String phone;
    	public int getId() {
    		return id;
    	}
    	public void setId(int id) {
    		this.id = id;
    	}
    	public int getAge() {
    		return age;
    	}
    	public void setAge(int age) {
    		this.age = age;
    	}
    	public String getPersonName() {
    		return personName;
    	}
    	public void setPersonName(String personName) {
    		this.personName = personName;
    	}
    	public Timestamp getBirthdate() {
    		return birthdate;
    	}
    	public void setBirthdate(Timestamp birthdate) {
    		this.birthdate = birthdate;
    	}
    	public String getIdentitify() {
    		return identitify;
    	}
    	public void setIdentitify(String identitify) {
    		this.identitify = identitify;
    	}
    	public String getAddress() {
    		return address;
    	}
    	public void setAddress(String address) {
    		this.address = address;
    	}
    	public String getPhone() {
    		return phone;
    	}
    	public void setPhone(String phone) {
    		this.phone = phone;
    	}
    	public double getWeight() {
    		return weight;
    	}
    	public void setWeight(double weight) {
    		this.weight = weight;
    	}
    	
    	
    }
    
    @Test
    	public void test_isNullObject() throws SecurityException,
    			IllegalArgumentException, NoSuchFieldException,
    			IllegalAccessException {
    		Person2 p = new Person2();
    		Assert.assertEquals(true, ReflectHWUtils.isNullObject(p, true));
    		Assert.assertEquals(false, ReflectHWUtils.isNullObject(p, false));
    
    		p.setAddress("beijing");
    		Assert.assertEquals(false, ReflectHWUtils.isNullObject(p, true));
    		Assert.assertEquals(false, ReflectHWUtils.isNullObject(p, false));
    
    		p.setAddress(null);
    		p.setId(0);
    		Assert.assertEquals(true, ReflectHWUtils.isNullObject(p, true));
    		Assert.assertEquals(false, ReflectHWUtils.isNullObject(p, false));
    
    	}
    参考:http://hw1287789687.iteye.com/blog/1936364
    项目代码下载地址:

    http://download.csdn.net/detail/hw1287789687/7255307
    .





    展开全文
  • Java 判断实体对象及所有属性是否为空

    万次阅读 多人点赞 2018-11-02 22:12:30
    2、判断对象所有属性是否为空 3、特别注意,实体类中如果有基本数据类型,会影响判断 package com.liuxd.object; import org.apache.commons.lang3.StringUtils; import java.lang.reflect.Field; /** * ...

    1、判断实体对象是否为空

    2、判断对象所有属性是否为空

    3、特别注意,实体类中如果有基本数据类型,会影响判断

    package com.liuxd.object;
    
    import org.apache.commons.lang3.StringUtils;
    
    import java.lang.reflect.Field;
    
    /**
     * Created by Liuxd on 2018/11/2.
     */
    public class TestEntity {
    
        public static void main(String[] args) {
            User user1 = new User("Jack", "male", 17);
            User user2 = new User();
    
            boolean u1Flag = checkObjAllFieldsIsNull(user1);
            boolean u2Flag = checkObjAllFieldsIsNull(user2);
    
            System.out.println("user1 是否为空:" + u1Flag);
            System.out.println("user2 是否为空:" + u2Flag);
    
        }
    
        /**
         * 判断对象中属性值是否全为空
         *
         * @param object
         * @return
         */
        public static boolean checkObjAllFieldsIsNull(Object object) {
            if (null == object) {
                return true;
            }
    
            try {
                for (Field f : object.getClass().getDeclaredFields()) {
                    f.setAccessible(true);
    
                    System.out.print(f.getName() + ":");
                    System.out.println(f.get(object));
    
                    if (f.get(object) != null && StringUtils.isNotBlank(f.get(object).toString())) {
                        return false;
                    }
    
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
    
            return true;
        }
    }
    

    实体类:

    package com.liuxd.object;
    
    /**
     * Created by Liuxd on 2018/11/2.
     */
    public class User {
    
        private String name;
    
        private String gender;
    
        /**
         * 如果属性类型为基本数据类型,则会有默认值
         * 影响正确判断,请特别注意
         */
    //  private int age;
    
        private Integer age;
    
        public User() {
        }
    
        public User(String name, String gender, int age) {
            this.name = name;
            this.gender = gender;
            this.age = age;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public String getGender() {
            return gender;
        }
    
        public void setGender(String gender) {
            this.gender = gender;
        }
    
        public Integer getAge() {
            return age;
        }
    
        public void setAge(Integer age) {
            this.age = age;
        }
    }
    

    输出结果:

    name:Jack
    name:null
    gender:null
    age:null
    user1 是否为空:false
    user2 是否为空:true

    展开全文
  • 主要介绍了Java判断对象是否为空(包括null ,"")的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • Java 反射判断对象属性是否为空

    千次阅读 2019-05-22 17:30:07
    要实现判断一个集合中的每个对象的成员变量是否为空 可以通过发射来实现 public boolean isObjectFieldEmpty(Object object) { boolean flag = false; if (object != null) { Class<?> entity = object....
  • 通过反射判断对象的所有属性是否为空 public static boolean isAllFieldNull(Object o) { try { for (Field field : o.getClass().getDeclaredFields()) { //把私有属性公有化 field.setAccessible(true); ...
  • //用于判断所有属性是否为空,如果参数为空则不查询 boolean flag = false; for (Field field : fields) { //不检查 直接取值 field.setAccessible(true); try { if (StringUtils.isNotNull(field.get(dept)))...
  • java 判断对象的所有属性为空

    千次阅读 2019-07-23 15:11:50
    import java.lang.reflect.Field; public class aaaaaa { public static void main(String[] args) throws Exception { person p = new person(); p.setAge(10); p.setNa...
  • Java判断一个对象属性是否为空

    万次阅读 2017-05-18 14:54:46
    就是在服务端在返回数据结构时,有些字段有时返回有时不返回(根据字段值来决定);但客户端会用到这些字段当没有返回时就会报空指针异常。... if (f.get(obj) == null) { //判断字段是否为空,并且对象
  • java判断对象属性值是否为空

    万次阅读 2017-02-17 08:57:07
    最近遇到后台接收值的时候,需要对接收对象进行非空校验,第一时间想到的就是写一堆的if判断,但是仔细想了想,如果字段的属性太多,需要写大量的if判断,并且方法也不能够重用,所以,就搜索了相关资料看看有没有...
  • java 中 JSON 对象属性如果为空,之间提取使用会报错。 对于有可能为空属性,使用之前需要先判断一下。 例如 if(jsonObject.get("fileName")equals(null)){ }
  • 感谢观看,可以在微信搜索公众号 “威信交流”,关注一波呗 public static boolean allfieldIsNUll(Object o){ try{ for(Field field:o.getClass().getDeclaredFields()){ ...//把私有属性公有化 ...
  • Java 判断一个对象中某一个属性是否为空 每次写博客都不知道咋开头…算了^_^ 直接说问题吧。就是验证一个对象中的一个属性的值是否为空。 自己在网上也找到了很多大神给的答案,有看到利用反射机制 public ...
  • 最近博主有一个项目,需要判断一个JavaBean中的对象属性是否都为null 一开始,博主以为直接用if(Bean == null) 来判断(傻了) 当一个Bean类创建了一个对象,不管那个对象里面有没有只,它肯定不是为空的! 那么...
  • Java判断对象是否Null/

    千次阅读 2019-05-17 11:42:00
    import java.lang.reflect.Field; import java.lang.reflect.Type;... * Description: 判断对象是否为空,进一步判断对象中的属性是否都为空 * * 对象为new,但对象中的属性都为null * </p&...
  • 判断1个对象所有属性是否为空. 可以使用反射机制实现 .  核心参考代码: //判断对象是否: 返回ture表示所有属性为null 返回false表示不是所有属性都是null  public static boolean isAllFieldNull...
  • java 判断Object对象是否为空或者空字符串 /** * 判断Object对象为空或空字符串 * @param obj * @return */ public static Boolean isObjectNotEmpty(Object obj) { String str = ObjectUtils.toString(obj,...
  • 废话不多说,直接上代码: public boolean checkObjFieldIsNull(Object obj) throws IllegalAccessException { boolean flag = false; for(Field f : obj.getClass().getDeclaredFields()){ ...
  • 判断collection对象属性为空,在代码里我想通过users.id来获取collection中的id属性,但是失败了。 求大神解答如何取得并判断collection中的属性值为空? ![图片说明]...
  • //判断对象是否: 返回ture表示所有属性为null 返回false表示不是所有属性都是null //子类对象判读为空不包括父类的字段 public static boolean isAllFieldNull(Object obj) throws Exception{ Class cla = ...
  • 要求:编写一个属性验证工具类,排除特性属性返回Boolean 标识,判断对象其他的属性是否null 值。 package ****; import java.lang.reflect.Field; import java.util.List; import org.slf4j.Logger; import.....
  • java 判断一个对象是否为空对象

    千次阅读 2020-03-30 22:29:29
    最近项目中遇到一个问题,在用户没填数据的时候,我们需要接收从前端传过来的对象为null,但是前端说他们一个一个判断特别麻烦,只能传个空对象过来,我第一个想法就是可以通过反射来判断对象是否为空。 第一版: ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 401,434
精华内容 160,573
关键字:

java判断对象属性为空

java 订阅