zoukankan      html  css  js  c++  java
  • Java判断对象是否为Null/空

    package com.taiping.test;
    
    import java.lang.reflect.Field;
    import java.lang.reflect.Type;
    
    /**
     * <p>
     * Description: 判断对象是否为空,进一步判断对象中的属性是否都为空
     * 
     * 对象为new,但对象中的属性都为null
     * </p>
     * 
     */
    public class CheckObjectIsNullUtils {
    
        /**
         * 判断对象是否为空,且对象的所有属性都为空
         * ps: boolean类型会有默认值false 判断结果不会为null 会影响判断结果
         * 序列化的默认值也会影响判断结果
         * 
         * @param object
         * @return
         */
        @SuppressWarnings("rawtypes")
        public static boolean objCheckIsNull(Object object) {
            Class clazz = (Class) object.getClass(); // 得到类对象
            Field fields[] = clazz.getDeclaredFields(); // 得到所有属性
            boolean flag = true; // 定义返回结果,默认为true
            for (Field field : fields) {
                field.setAccessible(true);
                Object fieldValue = null;
                try {
                    fieldValue = field.get(object); // 得到属性值
                    Type fieldType = field.getGenericType();// 得到属性类型
                    String fieldName = field.getName(); // 得到属性名
                    System.out.println("属性类型:" + fieldType + ",属性名:" + fieldName
                            + ",属性值:" + fieldValue);
                } catch (IllegalArgumentException e) {
                    e.printStackTrace();
                } catch (IllegalAccessException e) {
                    e.printStackTrace();
                }
                if (fieldValue != null) { // 只要有一个属性值不为null 就返回false 表示对象不为null
                    flag = false;
                    break;
                }
            }
            return flag;
        }
    
    }
  • 相关阅读:
    在Html中使用echarts图表
    html+css模拟微信对话
    解决React 的<img >src使用require的方式图片显示不出来,展示的是[object Module]的问题
    easygui入门
    python安装easygui
    关于gcc、make和CMake的区别
    FreeRTOS使用心得。
    C/C++整数输出位不足前补0方法
    AngularJS前端分页 + PageHelper后端分页
    AngularJS常见指令
  • 原文地址:https://www.cnblogs.com/sinosoft/p/10880507.html
Copyright © 2011-2022 走看看