java判断空值“”或者null

StringUtils.isEmpty(XXX)的用法:
- StringUtils.isEmpty(null) = true
- StringUtils.isEmpty(“”) = true
- StringUtils.isEmpty(” “) = false
- StringUtils.isEmpty(“bob”) = false
- StringUtils.isEmpty(” bob “) = false

上边的StringUos工具类只能判断此值是否为空字符串””和null,但是如果传入的是:” “这种是不能判断出来的。如果你在接受参数的时候就trim(),这样是会报空指针的,例如:

//获取参数openId
String openId = graduationInfo.getOpenId().trim();
if(openId.equals("") || StringUtils.isEmpty(openId)){
        graduationReturnVO.setRspCode((long)0);
        graduationReturnVO.setRspDesc("openId不能为空");
        LogUtil.business(logFlag+"-MESSAGE#{}", "openId为空");
        return graduationReturnVO;
}

这样的话
1.如果传入的openId是空字符串”“,在第一行就会出现空指针异常。
2.if条件句里边也不能写openId.equals(“”) 这样会出现空指针,正确的应该是”“.equals(openId)。
3.既然写了StringUtils.isEmpty(openId)则前边的openId.equals(“”)就没必要了。

下边做一个简单的测试:

package com.test;

import org.apache.commons.lang3.StringUtils;

/**
 * @Description :测试java判空和trim
 * @author : wmm
 * @date : 2017年7月20日 下午2:34:13
 */
public class TestTrim {
    public static void main(String[] args) {
        String aaa = " ";
        String bbb = "";
        String ccc = null;
        String ddd = "java";
        String eee = " eee ";
        //System.out.println(aaa.trim());
        if(StringUtils.isEmpty(aaa)){
            System.out.println("aaa是空字符串或者null");
        }else if("".equals(aaa.trim())){
            System.out.println("aaa是空格,沒有值");
        }else{
            System.out.println("aaa为字符串有值");
        }
        //===================================
        if(StringUtils.isEmpty(bbb)){
            System.out.println("bbb是空字符串或者null");
        }else if("".equals(bbb.trim())){
            System.out.println("bbb是空格,沒有值");
        }else{
            System.out.println("bbb为字符串有值");
        }
        //===================================
        if(StringUtils.isEmpty(ccc)){
            System.out.println("ccc是空字符串或者null");
        }else if("".equals(ccc.trim())){
            System.out.println("ccc是空格,沒有值");
        }else{
            System.out.println("ccc为字符串有值");
        }
        //===================================
        if(StringUtils.isEmpty(ddd)){
            System.out.println("ddd是空字符串或者null");
        }else if("".equals(ddd.trim())){
            System.out.println("ddd是空格,沒有值");
        }else{
            System.out.println("ddd为字符串有值");
        }
        //===================================
        if(StringUtils.isEmpty(eee) || "".equals(eee.trim())){
            System.out.println("eee是空字符串 或 null 或 eee是空格,沒有值");
        }else{
            System.out.println(eee.trim()+","+"eee为字符串有值");
        }
    }
}

控制台打印值是:
aaa是空格,沒有值
bbb是空字符串或者null
ccc是空字符串或者null
ddd为字符串有值
eee,eee为字符串有值

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值