精华内容
下载资源
问答
  • 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属性拷贝,属性为空不进行拷贝

    千次阅读 2019-10-17 20:22:45
    最近在写项目的过程中,由于分层关系,经常会进行对象间的属性拷贝。但是源对象有空属性的又不想拷贝,不管是Apache的还是springframework的都会直接将空值... * source属性为空的不赋值给target * @param source ...

      最近在写项目的过程中,由于分层关系,经常会进行对象间的属性拷贝。但是源对象有空属性的又不想拷贝,不管是Apache的还是springframework的都会直接将空值也赋值过去。所以自己写了一个工具来实现,仅供参考:

    public class BeanUtil {
    
        /**
         * source属性为空的不赋值给target
         * @param source
         * @param target
         */
        public static void beanCopierNotNull(Object source,Object target){
            CopyConverter copyConverter = new CopyConverter(target);
            BeanCopier copier = BeanCopier.create(source.getClass(),target.getClass(),true);
            copier.copy(source,target,copyConverter);
        }
    }
    
    import org.apache.commons.lang.StringUtils;
    import org.apache.commons.lang.exception.ExceptionUtils;
    import org.apache.commons.lang.reflect.FieldUtils;
    import org.springframework.cglib.core.Converter;
    import org.springframework.util.ObjectUtils;
    
    /**
     * @author zhangweiqiang
     * @Description
     */
    public class CopyConverter implements Converter {
        private static Log log = LogFactory.getLog(CopyConverter.class);
    
        private Object targetObject;
    
        @Override
        public Object convert(Object value, Class targetClass, Object context) {
            try {
                if (ObjectUtils.isEmpty(value)) {
                    String name = StringUtils.substring(ObjectUtils.nullSafeToString(context), 3);
                    String fiedName = StringUtils.uncapitalize(name);
                    return FieldUtils.readField(targetObject, fiedName, true);
                }
    
            } catch (Exception e) {
                log.debug(ExceptionUtils.getFullStackTrace(e));
            }
    
            return value;
        }
    
        public CopyConverter(Object targetObject) {
            this.targetObject = targetObject;
        }
    }
    

     

    展开全文
  • 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 复制非空对象属性值 public static void main(String[] args){ User u1 = new User(); u1.setName("AAA"); u2.setArea("中国东莞"); User u2 = new User(); u2.setName("BB"); Bea

    目录

    1. 获取对象属性值为空的属性名称

    2. 复制对象非空属性值


    1. 获取对象属性值为空的属性名称

    	/** 
    	* @Title: getNullPropertyNames
    	* @Description: 获取值为空的属性名称
    	* @createdBy:byrc
    	*/
    	public static String[] getNullPropertyNames(Object source) {  
    		BeanWrapper src = new BeanWrapperImpl(source);  
    		PropertyDescriptor[] pds = src.getPropertyDescriptors();  
    	
    		Set<String> emptyNames = new HashSet<String>();  
    		for (PropertyDescriptor pd : pds) {  
    			Object srcValue = src.getPropertyValue(pd.getName());  
    			if (srcValue == null)  
    				emptyNames.add(pd.getName());  
    		}
    		String[] result = new String[emptyNames.size()];  
    		return emptyNames.toArray(result);  
    	}

    2. 复制对象非空属性值

    	public static void main(String[] args){
    		
    		User u1 = new User();
    		u1.setName("AAA");
    		u2.setArea("中国东莞");
    		
    		User u2 = new User();
    		u2.setName("BB");
    		
    		BeanUtils.copyProperties(u2, u1,getNullPropertyNames(u2));
    	}
    

     

     

     

    展开全文
  • 1、各种情况的属性 (1)仅static修饰:静态变量,所有对象的同一个类变量都是共享同一块内存空间,而每个对象对于所有的实例域都有自己的一份拷贝。静态域属于类,而不属于任何独立的对象。 (2)仅final修饰:...
  • 比如校验对象属性是否为空。 一、自定义一个NotNull注解 我们自定义一个NotNull注解,里面有一个参数message 默认“”; /** * 自定义注解 * 判断屬性不为空注解 */ @Retention(RetentionPolicy.RUNTIME) @...
  • 业务逻辑中需要将对象中为字符串的属性转换null,简单的一种方式是前端JS控制,如果为空字符串则不传到后台,后台接收到没有值的属性默认null。这种方式会导致JS繁琐。下面用后台的方式来解决此问题。 ...
  • 通过反射判断对象的所有属性是否为空 public static boolean isAllFieldNull(Object o) { try { for (Field field : o.getClass().getDeclaredFields()) { //把私有属性公有化 field.setAccessible(true); ...
  • 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 判断对象的所有属性为空

    千次阅读 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自定义注解判断属性是否为空

    千次阅读 2020-07-21 18:29:05
    Java @Target(value=ElementType.FIELD) @Retention(value = RetentionPolicy.RUNTIME) public @interface NotNull { String message() default ""; } Target,Retention是元注解,也就是注解的注解 Target:...
  • Java 判断一个对象中某一个属性是否为空 每次写博客都不知道咋开头…算了^_^ 直接说问题吧。就是验证一个对象中的一个属性的值是否为空。 自己在网上也找到了很多大神给的答案,有看到利用反射机制 public ...
  • //判断该对象是否: 返回ture表示所有属性为null 返回false表示不是所有属性都是null //子类对象判读为空不包括父类的字段 public static boolean isAllFieldNull(Object obj) throws Exception{ Class cla = ...
  • 当一个Bean类创建了一个对象,不管那个对象里面有没有只,它肯定不是为空的! 那么,如何判断这个对象里面每个属性的值都null呢?下面po出代码,大家直接copy就行。 import lombok.extern.slf4j.Slf4j; ...
  • 感谢观看,可以在微信搜索公众号 “威信交流”...public static boolean allfieldIsNUll(Object o){ try{ for(Field field:o.getClass().getDeclaredFields()){ field.setAccessible(true);//把私有属性公有化 ...
  • 返回ture表示所有属性为null  返回false表示不是所有属性都是null public static boolean isAllFieldNull(Object obj) throws IllegalAccessException { Class<?> aClass = obj.getClass();...
  • 判断1个对象所有属性是否为空. 可以使用反射机制实现 .  核心参考代码: //判断该对象是否: 返回ture表示所有属性为null 返回false表示不是所有属性都是null  public static boolean isAllFieldNull...
  • Java 判断实体类属性是否为空工具类

    万次阅读 2019-05-21 17:13:00
    //只要有1个属性为空,那么就不是所有的属性值都为空 if (isNotEmpty(val)) { flag = true; break; } } } } catch (Exception e) { log.error("判断对象是否为空出错:" + e.getMessage()); } return ...
  • //用于判断所有属性是否为空,如果参数为空则不查询 boolean flag = false; for (Field field : fields) { //不检查 直接取值 field.setAccessible(true); try { if (StringUtils.isNotNull(field.get(dept)))...
  • javaStatic内存图解

    千次阅读 多人点赞 2018-03-30 23:51:44
    Static内存图解:解析:如代码:①:当程序运行,class进行加载这时在方法区则会有class文件区而class文件区内又有两个区(代码中有两个类一个person一个personDemo)这时class文件区的第一个区产生:然后产生第二个区class...
  • java Bean拷贝忽略空属性

    千次阅读 2020-01-02 11:02:00
    java bean的拷贝一般采用两种办法 1.Spring里面的方法, org.springframework.beans.BeanUtils.copyProperties 2.Apache里面的方法,org.apache.commons.beanutils.BeanUtils.copyProperties 但是有需要注意的地方,...
  • 判断一个对象的所有属性是否为空 直接上代码 public static boolean allFieldIsNotNull(Object o) { try { for (Field field : o.getClass().getDeclaredFields()) { //把私有属性公有化 field.setAccessible...
  • 现象:java反射调用方法时@Autowired注入的属性为空 调用代码 在这里插入代码片

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 218,166
精华内容 87,266
关键字:

java属性static为空

java 订阅