JAVA | StringUtils中 isNotEmpty 和 isNotBlank的区别[通俗易懂]

JAVA | StringUtils中 isNotEmpty 和 isNotBlank的区别[通俗易懂]isNotEmpty和isNotBlank的区别

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

StringUtils

StringUtils 方法的操作对象是 Java.lang.String 类型的对象,是 JDK 提供的 String 类型操作方法的补充,并且是 null 安全的(即如果输入参数 String 为 null 则不会抛出 NullPointerException ,而是做了相应处理,例如,如果输入为 null 则返回也是 null 等,具体可以查看源代码)。

善用StringUtils工具类的中的方法,可以使我们的代码看上去更优美、简洁。

isNotEmpty

StringUtils 中提供了 isNotEmpty () 方法,查看源码

public static boolean isEmpty(CharSequence cs) { 
   
    return cs == null || cs.length() == 0;
}

public static boolean isNotEmpty(CharSequence cs) { 
   
    return !isEmpty(cs);
}

根据源码可知:isNotEmpty () 方法判断字符串不为null,而且长度不为0

StringUtils.isNotEmpty(null) = false
StringUtils.isNotEmpty("") = false
StringUtils.isNotEmpty(" ") = true
StringUtils.isNotEmpty("bob") = true

isNotBlank

StringUtils 中提供了 isNotBlank() 方法,查看源码

public static boolean isBlank(CharSequence cs) { 
   
    int strLen;
    if (cs != null && (strLen = cs.length()) != 0) { 
   
        for(int i = 0; i < strLen; ++i) { 
   
            if (!Character.isWhitespace(cs.charAt(i))) { 
   
                return false;
            }
        }
        return true;
    } else { 
   
        return true;
    }
}

public static boolean isNotBlank(CharSequence cs) { 
   
    return !isBlank(cs);
}

根据源码可知:isNotBlank() 方法判断某字符串是否不为空且长度不为0且不由空白符(whitespace)构成

StringUtils.isNotBlank(null) = false
StringUtils.isNotBlank("") = false
StringUtils.isNotBlank(" ") = false
StringUtils.isNotBlank("\t \n \f \r") = false

区别

两者的相同点都是可以判断出不为NULL且字符串长度不为0,isNotBlank更可以判断出是否包含空格符

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/169982.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java笔记二十四——Spring开发

    Java笔记二十四——Spring开发Spring是一个支持快速开发JavaEE应用程序的框架。它提供了一系列底层容器和基础设施,并可以和大量常用的开源框架无缝集成,可以说是开发JavaEE应用程序的必备。在SpringFramework(最核心的Spring框架)基础上,又诞生了SpringBoot、SpringCloud、SpringData、SpringSecurity等一系列基于SpringFramework的项目。SpringFrameworkIoC容器容器是一种为某种特定组件的运行提供必要支持的一个软件环

    2022年5月16日
    38
  • vue JS 对象转数组[通俗易懂]

    vue JS 对象转数组[通俗易懂]option:{ head:{ title:”日期”, name:date, width:180 }, data:{ date:”2021-05-27″, name:”张三”, address:”上海市浦东新区XX路XX号” } }转数组:letoption=this.option;letArr=Object.keys(option).map(k

    2025年11月6日
    3
  • 对标 VS Code,JetBrains 的下一代 IDE :Fleet[通俗易懂]

    对标 VS Code,JetBrains 的下一代 IDE :Fleet[通俗易懂]昨天(11月29日),JetBrains网站上出现了一个全新的IDE–Fleet它是谁呢?这软件的风格,怎么看都不像JB的亲儿子。。不过,我很负责任地告诉,这就是JetBrains的下一代IDE,妥妥的亲儿子。目前Fleet还处于开发阶段,还没有开放下载使用,如果你想尝鲜,可以通过这个链接(https://www.jetbrains.com/fleet/preview/)填写一下表格申请。看到这个消息,我就赶紧去申请了,但何时会通过,官方表示也不清楚。虽然还无法使

    2022年5月28日
    46
  • Python量化投资:技术、模型与策略_量化金融投资及其python应用

    Python量化投资:技术、模型与策略_量化金融投资及其python应用python量化投资-01

    2022年4月20日
    79
  • CI框架下 新浪微博登录接口完整版

    CI框架下 新浪微博登录接口完整版

    2021年10月25日
    58
  • ipx防水等级表_说明知识运用的方法

    ipx防水等级表_说明知识运用的方法“××”是两位数字,第一位表示对固体的防护等级,第二位表示对液体的防护等级。固体防护等级有7个等级;液体防护等级有9个等级;防尘等级(固体防护等级有7个等级)0:没有保护1:防止大的固体侵入2:防止中等大小的固体侵入3:防止小固体进入侵入4:防止物体大于1mm的固体进入5:防止有害的粉尘堆积6:完全防止粉尘进入防水等级(液体防护等级有9个…

    2025年6月4日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号