StringUtils工具包中字符串非空判断isNotEmpty和isNotBlank的区别

StringUtils工具包是Apache Commons Lang中提供的一个字符串处理工具类库。其中,isNotEmpty和isNotBlank是用来判断字符串是否为空的两个方法,它们的区别如下:

  1. isNotEmpty

isNotEmpty方法用于判断字符串是否不为空,不为空的条件是字符串不为null且长度大于0。

StringUtils.isNotEmpty(null)      = false
StringUtils.isNotEmpty("")        = false
StringUtils.isNotEmpty(" ")       = true
StringUtils.isNotEmpty("foo")     = true
StringUtils.isNotEmpty("  foo  ") = true
  1. isNotBlank

isNotBlank方法用于判断字符串是否不为空白,不为空白的条件是字符串不为null、长度大于0,并且字符串中至少有一个非空白字符。

StringUtils.isNotBlank(null)      = false
StringUtils.isNotBlank("")        = false
StringUtils.isNotBlank(" ")       = false
StringUtils.isNotBlank("foo")     = true
StringUtils.isNotBlank("  foo  ") = true

两个方法的区别在于,isNotBlank在判断前会先去掉字符串两端的空白字符。例如,字符串" foo "在isNotBlank中被认为是非空白的,但在isNotEmpty中被认为是非空的。

下面是两个示例说明:

示例1:

String str = "  foo  ";
if (StringUtils.isNotEmpty(str)) {
    System.out.println("字符串不为空");
} else {
    System.out.println("字符串为空");
}
if (StringUtils.isNotBlank(str)) {
    System.out.println("字符串不为空白");
} else {
    System.out.println("字符串为空白");
}

输出结果为:

字符串不为空
字符串不为空白

示例2:

String str = "  ";
if (StringUtils.isNotEmpty(str)) {
    System.out.println("字符串不为空");
} else {
    System.out.println("字符串为空");
}
if (StringUtils.isNotBlank(str)) {
    System.out.println("字符串不为空白");
} else {
    System.out.println("字符串为空白");
}

输出结果为:

字符串为空
字符串为空白

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:StringUtils工具包中字符串非空判断isNotEmpty和isNotBlank的区别 - Python技术站

(0)
上一篇 2023年6月8日
下一篇 2023年6月8日

相关文章

  • Centos7 中安装 Node.js v4.4.4

    下面是“Centos7中安装Node.js v4.4.4”的完整攻略: 确认系统版本 在安装Node.js之前,需要确认操作系统版本是否为Centos7。可以在终端中输入以下命令查看: cat /etc/centos-release 如果版本为Centos7,继续进行下一步操作。 安装必要的依赖 在安装Node.js之前,需要先安装一些必要的依赖,以确保No…

    node js 2023年6月8日
    00
  • Node.js REPL (交互式解释器)实例详解

    Node.js REPL (交互式解释器)实例详解 什么是REPL REPL是一种编程语言解析器,它可以接受用户的输入,解释一条语句并立即执行,然后输出结果。REPL通常用于测试代码片段、学习语言概念以及进行快速原型设计。 Node.js REPL提供了一个交互式环境,通过命令行操作与Node.js交互,可以测试代码片段,进行调试和熟悉Node.js API…

    node js 2023年6月8日
    00
  • Node.js 学习笔记之简介、安装及配置

    Node.js 学习笔记之简介、安装及配置 简介 Node.js 是一种基于 Chrome V8 引擎的 JavaScript 运行时环境。Node.js 运行在服务端,并采用事件驱动、非阻塞式 I/O 模型,使其轻量又高效。Node.js 的优势在于能够把 JavaScript 语言用于服务端编程,与前端相比,它能够更好地处理 I/O 操作,更高效地开发高…

    node js 2023年6月8日
    00
  • 详解node Async/Await 更好的异步编程解决方案

    详解node Async/Await 更好的异步编程解决方案 什么是Async/Await Async/Await是ES2017引入的新特性,它是一种更好的异步编程解决方案,可以方便地解决异步回调嵌套的问题。Async/Await是建立在Promise之上的语法糖。 Async函数是一个自带执行器的函数,可以通过await关键字等待Promise执行完成并返…

    node js 2023年6月8日
    00
  • node.js入门教程之querystring模块的使用方法

    下面是“node.js入门教程之querystring模块的使用方法”的完整攻略。 一、querystring模块的基本介绍 querystring 模块是 Node.js 中内置的一个提供了一些实用工具的模块,可以用来进行 URL 查询字符串的解析和序列化,常用于处理 HTTP 请求和响应中的参数。 二、querystring模块常用方法 1. query…

    node js 2023年6月8日
    00
  • 超实用前端面试题整理(小结)

    超实用前端面试题整理(小结) 具体攻略 背景 作为一名前端工程师,参加面试是必不可少的一个环节。对于应聘者来说,掌握一些常见的前端面试题目并做好复习,能够在面试中获得更好的机会。此次“超实用前端面试题整理(小结)”就是为大家整理了前端面试常见的问题。 思路 在准备前端面试的过程中,需要重点关注HTML、CSS、JavaScript基础、算法、框架等方面的问题…

    node js 2023年6月8日
    00
  • NodeJS与HTML5相结合实现拖拽多个文件上传到服务器的实现方法

    下面是详细讲解NodeJS与HTML5相结合实现拖拽多个文件上传到服务器的实现方法的攻略。 简要说明 在传统的文件上传方式中,通常会通过<input type=”file”>来进行上传,但是用户需要点击选择文件上传的按钮,比较麻烦。而使用拖拽文件上传则可以更加方便,用户只需要把需要上传的文件拖拽到指定的区域即可。结合HTML5和NodeJS的技术…

    node js 2023年6月8日
    00
  • Javascript JSQL,SQL无处不在,

    JavaScript JSQL是一种使用JavaScript语言实现的数据库访问接口。它通过封装SQL命令,提供了一种直接使用JavaScript语言进行数据库访问的方式。很多JavaScript的开发者已经在使用JSQL来处理数据库了,本文将讲解如何在项目中使用JSQL,包括连接数据库、创建表和查询数据库等操作。 连接数据库 要使用JSQL,首先需要连接你…

    node js 2023年6月8日
    00
合作推广
合作推广
分享本页
返回顶部