当前位置: 首页 > article >正文

【JAVA基础】StringUtils.isEmpty、StringUtils.isBlank()、Objects.isNull()三者区别

📝个人主页🌹:个人主页
⏩收录专栏⏪:日常经验
🌹🌹期待您的关注 🌹🌹,让我们共同进步!
在这里插入图片描述

总是区分不清楚这几个的差别:我们来直接验证一下:

package com.atguigu.signcenter.controller;

import com.atguigu.signcenter.annotation.ExistsApiToken;
import com.atguigu.signcenter.annotation.VerifySign;
import com.atguigu.signcenter.constant.ReqParameterConstant;
import com.atguigu.signcenter.entity.User1;
import com.atguigu.signcenter.service.SecurityUtilTestService;
import com.atguigu.signcenter.util.testUtil;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

import java.io.UnsupportedEncodingException;
import java.util.*;

/**
 *    原文链接:https://blog.csdn.net/weixin_47560078/article/details/118222785
 *   @author: jd
 * @create: 2024-07-30
 */

@Slf4j
@Controller
public class TestController {

    public static void main(String[] args) {
        //判断某字符串是否为空或长度为0或由空白符(whitespace)构成
        System.out.println("=========isBlank=========");
        System.out.println("StringUtils.isBlank(null) = " + StringUtils.isBlank(null)); //true
        System.out.println("StringUtils.isBlank(\"\") = " + StringUtils.isBlank("")); //true
        System.out.println("StringUtils.isBlank(\" \") = " + StringUtils.isBlank(" ")); //true
        System.out.println("StringUtils.isBlank(\"\\t \\n \\f \\r\") = " + StringUtils.isBlank("\t \n \f \r")); // true
        System.out.println("StringUtils.isBlank(\"\\b\") = " + StringUtils.isBlank("\b")); //false
        System.out.println("StringUtils.isBlank(\"bob\") = " + StringUtils.isBlank("bob")); //false
        System.out.println("StringUtils.isBlank(\" bob \") = " + StringUtils.isBlank(" bob ")); //false
        System.out.println("=========isNotBlank=========");
        //判断某字符串是否不为空且长度不为0且不由空白符(whitespace)构成,等于!isBlank(String str)
        System.out.println("StringUtils.isNotBlank(null) = " + StringUtils.isNotBlank(null));
        System.out.println("StringUtils.isNotBlank(\"\") = " + StringUtils.isNotBlank(""));
        System.out.println("StringUtils.isNotBlank(\" \") = " + StringUtils.isNotBlank(" "));
        System.out.println("StringUtils.isNotBlank(\" \") = " + StringUtils.isNotBlank(" "));
        System.out.println("StringUtils.isNotBlank(\"\\t \\n \\f \\r\") = " + StringUtils.isNotBlank("\t \n \f \r"));
        System.out.println("StringUtils.isNotBlank(\"\\b\") = " + StringUtils.isNotBlank("\b"));
        System.out.println("StringUtils.isNotBlank(\"bob\") = " + StringUtils.isNotBlank("bob"));
        System.out.println("StringUtils.isNotBlank(\" bob \") = " + StringUtils.isNotBlank(" bob "));


        System.out.println("=========isEmpty=========");
        //判断某字符串是否为空,为空的标准是str==null或str.length()==0
        System.out.println("StringUtils.isEmpty(null) = " + StringUtils.isEmpty(null)); //true
        System.out.println("StringUtils.isEmpty(\"\") = " + StringUtils.isEmpty("")); //true
        System.out.println("StringUtils.isEmpty(\" \") = " + StringUtils.isEmpty(" ")); //false
        System.out.println("StringUtils.isEmpty(\"bob\") = " + StringUtils.isEmpty("bob")); //false
        System.out.println("StringUtils.isEmpty(\" bob \") = " + StringUtils.isEmpty(" bob ")); //false


        //只会检查传入的对象是否为null。如果对象为null,则返回true,否则返回false
        System.out.println("Objects.isNull(null) = " + Objects.isNull(null)); //true
        System.out.println("Objects.isNull(\"\") = " + Objects.isNull("")); //false
        System.out.println("Objects.isNull(\"aaa\") = " + Objects.isNull("aaa")); //false

        

    }


}

结果

=========isBlank=========
StringUtils.isBlank(null) = true
StringUtils.isBlank("") = true
StringUtils.isBlank(" ") = true
StringUtils.isBlank("\t \n \f \r") = true
StringUtils.isBlank("\b") = false
StringUtils.isBlank("bob") = false
StringUtils.isBlank(" bob ") = false
=========isNotBlank=========
StringUtils.isNotBlank(null) = false
StringUtils.isNotBlank("") = false
StringUtils.isNotBlank(" ") = false
StringUtils.isNotBlank(" ") = false
StringUtils.isNotBlank("\t \n \f \r") = false
StringUtils.isNotBlank("\b") = true
StringUtils.isNotBlank("bob") = true
StringUtils.isNotBlank(" bob ") = true
=========isEmpty=========
StringUtils.isEmpty(null) = true
StringUtils.isEmpty("") = true
StringUtils.isEmpty(" ") = false
StringUtils.isEmpty("bob") = false
StringUtils.isEmpty(" bob ") = false
=========Objects.isNull=========
Objects.isNull(null) = true
Objects.isNull("") = false
Objects.isNull("aaa") = false

总结:
我这里对于判空和判断非空都验证了,其实只是记住一方面即可。
判断是null的范围,从粗到细 isBlank < isEmpty < isNUll
//所以总结一下,isBlank的筛选是最粗的,对于null “” “ ” 都是空的,这三个区分不出来,都是true
// isEmpty 则能把null 和“” 这两个区分不出来,都是 true
//isNull 则是最细的 只有真正的null是true,否则是false


http://www.kler.cn/a/292935.html

相关文章:

  • 高级java每日一道面试题-2024年11月06日-JVM篇-什么是 Class 文件? Class 文件主要的信息结构有哪些?
  • SQL集合运算
  • 【计算机网络】【传输层】【习题】
  • Ruby编程语言全景解析:从基础到进阶
  • 06.VSCODE:备战大项目,CMake专项配置
  • java八股-jvm入门-程序计数器,堆,元空间,虚拟机栈,本地方法栈,类加载器,双亲委派,类加载执行过程
  • C语言-程序环境 #预处理 #编译 #汇编 #链接 #执行环境
  • Unity3D ARPG(动作角色扮演游戏)设计与实现详解
  • 第十五届蓝桥杯 Python 省赛题目及解析
  • 【限流器】golang令牌桶限流源码分析
  • 【Linux】常见指令及权限相关知识详细梳理
  • 找不同-第15届蓝桥省赛Scratch初级组真题第4题
  • ffmpeg视频转切片m3u8并加密videojs播放hls.js播放dplayer播放(弹幕效果)
  • Flutter中自定义气泡框效果的实现
  • SQL进阶技巧:如何利用SQL解决趣味赛马问题?| 非等值关联匹配问题
  • 第十九章 rust服务器开发:axum框架详解
  • Self-study Python Fish-C Note20 P64to65
  • 开源 AI 智能名片 O2O 商城小程序在营销中的应用
  • 在qt中,用户输入了16进制的字符串,如何按照用户的16进制格式发送
  • C语言第一周课
  • TypeScript(TS) 实现消息通知(发布订阅)
  • 视频监控系统布局策略:EasyCVR视频汇聚平台构建高效、全面的安全防线
  • 微服务配置管理
  • nodejs发邮件如何实现自动化邮件发送功能?
  • jenkins web界面构建job时平台展现的时间是6点,可是当前北京是14点,如何调整这个时间,如何调整 Jenkins 的时间显示
  • ant mobile design组件库的PickerView组件不能滑动