isEmpty() 和 isBlank()的区别
isEmpty() 和 isBlank()的区别
平时自己开发的时候没有注意到这个地方,直到实习的时候代码审查的时候发现其用法上两者的不同.
isEmpty()
public static boolean isEmpty(String str) {return str == null || str.length() == 0;
}
isBlank()
public static boolean isBlank(String str) {int strLen;if (str != null && (strLen = str.length()) != 0) {for(int i = 0; i < strLen; ++i) {// 判断字符是否为空格、制表符、tabif (!Character.isWhitespace(str.charAt(i))) {return false;}}return true;} else {return true;}
}
isWhitespace()
用于判断是否为空白字符。
public static boolean isWhitespace(char ch) {return isWhitespace((int)ch);}
判断是空白字符的标准:Unicode space character(SPACE_SEPARATOR、LINE_SEPARATOR、PARAGRAPH_SEPARATOR)
\t:制表符。
\n:换行符。
\u000B:线路表符号。
\f:换页符。
\r:回车。
\u001C:文件分隔符。
\u001D:“成组分离”符。
\u001E:记录分隔符号。
\u001F:单元分隔符。
null和空字符串的区别
-
null表示一个变量没有引用任何对象,而空字符串表示一个字符串变量引用了一个长度为0的字符串。
-
null:表示一个变量没有引用任何对象。也就是说,这个变量还没有被分配内存。
-
空字符串:表示一个字符串变量引用了一个长度为0的字符串。
String str = ""; //空字符串
实例
isEmpty(null)------true
isEmpty("")------true //空字符串
isEmpty(" ")------false //
isEmpty("abc")----false
isBlank(null)------true
isBlank("")------true
isBlank(" ")------true
isBlank("\t \n \f \r")------true //制表符、换行符、换页符和回车符
isBlank("abc")------false
参考
参考:https://blog.csdn.net/b635781894/article/details/107384059?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522172161473916800178560732%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=172161473916800178560732&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduend~default-2-107384059-null-null.142v100pc_search_result_base3&utm_term=iswhitespace%E4%BB%80%E4%B9%88%E6%84%8F%E6%80%9D&spm=1018.2226.3001.4187
https://blog.csdn.net/lyj15012351173/article/details/135755530?ops_request_misc=&request_id=&biz_id=102&utm_term=Java%E7%A9%BA%E5%AD%97%E7%AC%A6%E4%B8%B2%E5%92%8Cnull&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-1-135755530.142v100pc_search_result_base3&spm=1018.2226.3001.4187
相关文章:
isEmpty() 和 isBlank()的区别
isEmpty() 和 isBlank()的区别 平时自己开发的时候没有注意到这个地方,直到实习的时候代码审查的时候发现其用法上两者的不同. isEmpty() public static boolean isEmpty(String str) {return str null || str.length() 0; }isBlank() public static boolean isBlank(Strin…...
scrapy生成爬虫数据为excel
scrapy生成爬虫数据为excel 使用openpyxl(推荐)安装openpyxl库建一个新的Item Pipeline类在settings.py中启用ExcelPipeline说明 使用scrapy-xlsx首先,安装scrapy-xlsx:然后在Scrapy爬虫中使用管道:说明 要使用Scrapy生…...
vscode debug C++无法输入问题
研究了半天vscode debug c无法输入的问题,原来vscode的文档里面已经记录了。issue都是2020年提的了,还没解决。。。 不过人家也确实给了一个解法:用外部的terminal。 不过怎么看都还不是很方便,所以还是推荐直接使用CodeLLDB插件来…...
MODBUS tcp学习总结
MODBUS TCP协议实例数据帧详细分析_modbus 帧结构-CSDN博客...
【第一天】计算机网络 TCP/IP模型和OSI模型,从输入URL到页面显示发生了什么
TCP/IP模型和OSI模型 这两个模型属于计算机网络的体系结构。 OSI模型是七层模型,从上到下包括: 应用层,表示层,会话层,传输层,网络层,数据链路层,物理层 TCP/IP模型是四层模型&…...
发现FionaAI:免费体验最新的GPT-4o Mini模型!
你现在可以在FionaAI上免费体验OpenAI刚刚发布的GPT-4o Mini模型!作为您在Google Chrome中的ChatGPT驱动助手,FionaAI可以随时随地与您对话,帮助您轻松创作和处理文本。 为什么选择GPT-4o Mini? 最新技术:GPT-4o Mini是…...
Linux Gui 窗口对话和窗口操作
zenity 可以实现窗口对话 eg: zenity --error --width 300 --text "Permission denied. Cannot write to the file." ChosenDate$(zenity --calendar --text "Choose a date" --title "How-To Geek Rota" --day 1 --month 9 --year 2019); …...
人工智能驾驶技术:引领未来道路
随着科技的不断进步,人工智能驾驶技术正以惊人的速度改变着我们的交通方式和生活方式。这项技术不仅令人兴奋,还引发了许多关于安全性、道德和法律等方面的深思。本文将探讨人工智能自动驾驶技术的发展现状、应用前景以及对社会的影响。 技术背景与发展…...
管理的核心是管人,管人的核心就是这3条,看懂的是高手
管理的核心是管人,管人的核心就是这3条,看懂的是高手 一:管欲 每个人都有欲望,无可厚非。管理者的任务就是利用欲望,管理欲望,通过欲望来达到管人的目的。 最需要管理的就是以下两种: 1、金…...
代码解读:Diffusion Models中的长宽桶技术(Aspect Ratio Bucketing)
Diffusion Models专栏文章汇总:入门与实战 前言:自从SDXL提出了长宽桶技术之后,彻底解决了不同长宽比的图像输入问题,现在已经成为训练扩散模型必选的方案。这篇博客从代码详细解读如何在模型训练的时候运用长宽桶技术(Aspect Rat…...
Linux下如何使用GitLab进行团队协作
在Linux系统中,使用GitLab进行团队协作是非常常见的做法。GitLab是一个基于Git的代码托管和项目管理平台,可以帮助团队成员共享、追踪和管理代码的开发过程。本文将介绍如何在Linux系统中安装和配置GitLab,以及一些常用的团队协作功能。 安装…...
无法连接到internet怎么办?已连接但无internet访问,其实并不难
有时我们会遇到无法连接到Internet的问题,由多种原因引起,包括硬件故障、软件设置问题、网络供应商故障等。本文将介绍无法连接到Internet时可以采取的步骤。 简述 当你无法连接到Internet时,可以按照以下步骤进行检查和解决: 1…...
建投数据人力资源系列产品获得欧拉操作系统及华为鲲鹏技术认证书
近日,经欧拉生态创新中心和华为技术有限公司测评,建投数据自主研发的人力资源管理系统、招聘管理系统、绩效管理系统、培训管理系统,完成了基于欧拉操作系统openEuler 22.03、华为鲲鹏Kunpeng 920(Taisha 200)的兼容性…...
【iOS】——属性关键字的底层原理
strong,retain,copy,atomic,nonatomic c源码 interface propertyTest : NSObject property (nonatomic, strong) NSString *nsstring___StrongTest; property (nonatomic, retain) NSString *nsstring___RetainTest; property (n…...
电影类平台如何选择服务器
电影类平台如何选择服务器 1、数据存储 电影网站对服务器的要求是比较高的,对存储空间的需求特别大,所以在服务器选择上首先要确保足够大的存储空间。另外,当你的网站内容特别多时,内存不够用,可以选择增加内存&#x…...
递归神经网络(RNN)及其预测和分类的Python和MATLAB实现
递归神经网络(Recurrent Neural Networks,RNN)是一种广泛应用于序列数据建模的深度学习模型。相比于传统的前馈神经网络,RNN具有记忆和上下文依赖性的能力,适用于处理具有时序关联性的数据,如文本、语音、时…...
以flask为后端的博客项目——星云小窝
以flask为后端的博客项目——星云小窝 文章目录 以flask为后端的博客项目——星云小窝前言一、星云小窝项目——项目介绍(一)二、星云小窝项目——项目启动(二)三、星云小窝项目——项目结构(三)四、谈论一…...
CUDA编程02 - 数据并行介绍
一:概述 数据并行是指在数据集的不同部分上执行计算工作,这些计算工作彼此相互独立且可以并行执行。许多应用程序都具有丰富的数据并行性,使其能够改造成可并行执行的程序。因此,对于程序员来说,熟悉数据并行的概念以及使用并行编程语言来编写数据并行的代码是非常重要的。…...
Android 视频音量图标
attrs.xml <?xml version"1.0" encoding"utf-8"?> <resources><!--图标颜色--><attr name"ijkSolid" format"color|reference" /><!--喇叭底座宽度--><attr name"ijkCornerWidth" form…...
VScode 修改 Markdown Preview Enhanced 字体以及大纲编号
修改字体和背景颜色 按快捷键 Ctrl , 打开设置,搜索 markdown-preview-enhanced.previewTheme,选择一个黑色主题的css,如 github-dark.css. 修改自动编号和背景颜色 背景颜色 按 F1 或者 Ctrl Shift P,输入 Customize CSS…...
PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建
制造业采购供应链管理是企业运营的核心环节,供应链协同管理在供应链上下游企业之间建立紧密的合作关系,通过信息共享、资源整合、业务协同等方式,实现供应链的全面管理和优化,提高供应链的效率和透明度,降低供应链的成…...
在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module
1、为什么要修改 CONNECT 报文? 多租户隔离:自动为接入设备追加租户前缀,后端按 ClientID 拆分队列。零代码鉴权:将入站用户名替换为 OAuth Access-Token,后端 Broker 统一校验。灰度发布:根据 IP/地理位写…...
【算法训练营Day07】字符串part1
文章目录 反转字符串反转字符串II替换数字 反转字符串 题目链接:344. 反转字符串 双指针法,两个指针的元素直接调转即可 class Solution {public void reverseString(char[] s) {int head 0;int end s.length - 1;while(head < end) {char temp …...
零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)
本期内容并不是很难,相信大家会学的很愉快,当然对于有后端基础的朋友来说,本期内容更加容易了解,当然没有基础的也别担心,本期内容会详细解释有关内容 本期用到的软件:yakit(因为经过之前好多期…...
A2A JS SDK 完整教程:快速入门指南
目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库ÿ…...
Spring AI Chat Memory 实战指南:Local 与 JDBC 存储集成
一个面向 Java 开发者的 Sring-Ai 示例工程项目,该项目是一个 Spring AI 快速入门的样例工程项目,旨在通过一些小的案例展示 Spring AI 框架的核心功能和使用方法。 项目采用模块化设计,每个模块都专注于特定的功能领域,便于学习和…...
安卓基础(Java 和 Gradle 版本)
1. 设置项目的 JDK 版本 方法1:通过 Project Structure File → Project Structure... (或按 CtrlAltShiftS) 左侧选择 SDK Location 在 Gradle Settings 部分,设置 Gradle JDK 方法2:通过 Settings File → Settings... (或 CtrlAltS)…...
Android写一个捕获全局异常的工具类
项目开发和实际运行过程中难免会遇到异常发生,系统提供了一个可以捕获全局异常的工具Uncaughtexceptionhandler,它是Thread的子类(就是package java.lang;里线程的Thread)。本文将利用它将设备信息、报错信息以及错误的发生时间都…...
yaml读取写入常见错误 (‘cannot represent an object‘, 117)
错误一:yaml.representer.RepresenterError: (‘cannot represent an object’, 117) 出现这个问题一直没找到原因,后面把yaml.safe_dump直接替换成yaml.dump,确实能保存,但出现乱码: 放弃yaml.dump,又切…...
大数据驱动企业决策智能化的路径与实践
📝个人主页🌹:慌ZHANG-CSDN博客 🌹🌹期待您的关注 🌹🌹 一、引言:数据驱动的企业竞争力重构 在这个瞬息万变的商业时代,“快者胜”的竞争逻辑愈发明显。企业如何在复杂环…...
