类型判空

1、int 在初始化的时候=0,使用0==a判断

int a = 0;
        if (0 == a) {
            System.out.println(true);
        }

2、Integer 初始化为null。

Integer a1 = null;
        if(a1==null){
            System.out.println(true);
        }

如果确定为 null,直接使用a1==null判断。
遇到无法确定前端是否传入参数的时候(在mybatis无法拦截),在收参数的时候改为String判断。
3、String判空

String a2 = "";
        if (a2 == null || a2 == "") {
            System.out.println("a2为空");
        }

为了防止空指针首先要判断a2是否为null,再进行""判断。
String判空有很多方式,有String类提供的

String a2 = "";  //a2已经实例化
    String a3 = null;
    if (a2 == null || a2 == "") {
        System.out.println("a2为空");
    }
    if (a2.isEmpty() || a3.isEmpty()) {
        System.out.println("a2,a3 isEmpty");
    }
    if (a2.length() == 0 || a3.length() == 0) {
        System.out.println("a2,a3的长度为null");
    }
     if(a2.equals("")){
        System.out.println("a2实例化使用equals不会报错");
    }
    // if(a3.equals(null))//这种就会报错 空指针
    if(StringUtil.isEmpty(a2)|| StringUtil.isEmpty(a3)){
        System.out.println("a2,a3的StringUtil.isEmpty为true");
    }

可以看到StringUtils的isEmpty的方法是

/**
     * 空
     *
     * @param str
     * @return
     */
    public static boolean isEmpty(String str) {
        return str == null || str.length() == 0;
    }
    /**
     * 非空
     *
     * @param str
     * @return
     */
    public static boolean isNotEmpty(String str) {
        return !isEmpty(str);
    }

引入import org.apache.commons.lang3.StringUtils;
这种判断增加一个" “,String是” "

String a4 = " ";
        if (StringUtils.isBlank(a4)) {
            System.out.println("a4为空白字符");
        }

4、对象判空

//对象判空
        RegionVO regionVO = null;

        if (regionVO == null) {
            System.out.println("RegionVO对象为空");
        }
        
        RegionVO regionVO1 = new RegionVO();
        regionVO1.setItemId(1);
        if (regionVO1 != null) {
            System.out.println("RegionVO对象不为空");
        }

但是这种情况下,

java如何判断整除 java判断整数是否为空_集合判空


如果要判断对象里面的属性是否全部为null,除了一个个判断外,可以利用反射。

public static boolean checkObjAllFieldsIsNull(RegionVO regionVO) {
        if (null == regionVO) {
            return true;
        }
        try {
            for (Field f : regionVO.getClass().getDeclaredFields()) { //通过反射得到所有列
                f.setAccessible(true);//fields.setAccessible(true);的实际作用就是使权限可以访问public,protected,private的字段
                if (f.get(regionVO) != null && StringUtils.isNotBlank(f.get(regionVO).toString())) {
                    return false;
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }

        return true;
    }

5、集合判空
list

List list = null;
        if (null == list || list.size() == 0) {
            System.out.println("list为null");
        }
        List list1 = new ArrayList();
        if(list1.size()==0){
            System.out.println("list的size为0");
        }
                if (null == list || list.isEmpty()) {
            System.out.println("list is empty");
        }

引入import org.apache.commons.collections.CollectionUtils;

if (CollectionUtils.isEmpty(list)) {
            System.out.println("list为空");
        }

CollectionUtils.isEmpty()方法也是使用==null 和isEmpty

public static boolean isEmpty(Collection coll) {
        return coll == null || coll.isEmpty();
    }

    public static boolean isNotEmpty(Collection coll) {
        return !isEmpty(coll);
    }

map

Map map=new HashMap();
        Map map1=new HashMap();
        map.put(1,"first");
        if (map.isEmpty()) {
            System.out.println("map为空");
        }else {
            System.out.println("map不为空");
        }
        if (map1.isEmpty()) {
            System.out.println("map1为空");
        }else {
            System.out.println("map1不为空");
        }

java如何判断整除 java判断整数是否为空_java 各种判空_02