StringUtils里面的 isEmpty方法和isBlank方法的区别[通俗易懂]

StringUtils里面的 isEmpty方法和isBlank方法的区别[通俗易懂]写在前面:我是扬帆向海,这个昵称来源于我的名字以及女朋友的名字。我热爱技术、热爱开源、热爱编程。技术是开源的、知识是共享的。这博客是对自己学习的一点点总结及记录,如果您对Java、算法感兴趣,可以关注我的动态,我们一起学习。 用知识改变命运,让我们的家人过上更好的生活。文章目录1、isEmpty()方法2、isBlank()方法3、总结1、isEmpty()方法源码:…

大家好,又见面了,我是你们的朋友全栈君。

写在前面: 我是「扬帆向海」,这个昵称来源于我的名字以及女朋友的名字。我热爱技术、热爱开源、热爱编程。技术是开源的、知识是共享的

这博客是对自己学习的一点点总结及记录,如果您对 Java算法 感兴趣,可以关注我的动态,我们一起学习。

用知识改变命运,让我们的家人过上更好的生活

1、isEmpty() 方法

源码
在这里插入图片描述

public static boolean isEmpty(String str) { 
   
		// 判断字符串是否为空或长度为0
        return str == null || str.length() == 0;
    

isEmpty 是判断某个字符串是否为空,判断的标准是 str == null || str.length() == 0

测试:

public class TestStringUtils { 
   

    public static void main(String[] args) { 
   

        System.out.println(StringUtils.isEmpty(null)); // true
        System.out.println(StringUtils.isEmpty("")); // true
        System.out.println(StringUtils.isEmpty(" ")); // false
        System.out.println(StringUtils.isEmpty("\t")); // false
        System.out.println(StringUtils.isEmpty("扬帆向海")); // false
        System.out.println(StringUtils.isEmpty(" 扬帆向海 ")); // false

    }
}

2、isBlank()方法

源码:
在这里插入图片描述

public static boolean isBlank(String str) { 
   
        int strLen;
        // 判断字符串是否为空或长度为是否为0
        if (str != null && (strLen = str.length()) != 0) { 
   
        	// 如果字符串不为空,且长度不为0,进行循环遍历
            for(int i = 0; i < strLen; ++i) { 
   
            	// 如果字符串指定位置的值不为空白字符,返回false;否则返回true
                if (!Character.isWhitespace(str.charAt(i))) { 
   
                    return false;
                }
            }

            return true;
        } else { 
   
            return true;
        }
    }

isBlank 是判断字符串是否为空或长度为0 或者是由空白符构成

测试

public class TestStringUtils { 
   

    public static void main(String[] args) { 
   
    
        System.out.println(StringUtils.isBlank(null)); // true
        System.out.println(StringUtils.isBlank("")); // true
        System.out.println(StringUtils.isBlank(" ")); // true
        System.out.println(StringUtils.isBlank("\t")); // true
        System.out.println(StringUtils.isBlank("扬帆向海")); // false
        System.out.println(StringUtils.isBlank(" 扬帆向海 ")); // false
    
    }
}

3、总结

  • isEmpty()方法没有忽略空格,是以是否为空和是否存在为判断依据;

  • isBlank()方法增加了字符串为空格、制表符的判断。即isBlank()的判断范围更大,它在isEmpty()方法的基础上,包括了空字符的判断。在实际开发中,isBlank()方法更加常用。


由于水平有限,本博客难免有不足,恳请各位大佬不吝赐教!

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

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/132167.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 从入门到真香!java核心技术卷一pdf「建议收藏」

    从入门到真香!java核心技术卷一pdf「建议收藏」拼多多(三面)面试前面完蚂蚁后,早就听闻拼多多这个独角兽,决定也去面一把。首先我在脉脉找了一个拼多多的HR,加了微信聊了下,发了简历便开始我的拼多多面试之旅。这里要非常感谢拼多多HR小姐姐,从面试内推到offer确认一直都在帮我,人真的很nice。拼多多:一面为啥蚂蚁只待了三个月?没转正?Java中的HashMap、TreeMap解释下?TreeMap查询写入的时间复杂度多少?HashMap多线程有什么问题?CAS和synchronize有什么区别?都用synchronize不行么?如

  • stata 导出 相关系数表_STATA数据处理技巧与计量分析二|基本语句介绍

    stata 导出 相关系数表_STATA数据处理技巧与计量分析二|基本语句介绍更多精彩内容请关注211统计课堂上期小统和大家一起了解了STATA数据处理技巧与计量分析的背景介绍,这期小统和大家一起学习一下基本语句介绍。Stata操作界面核心功能(dofile)Stata中的命令集合文件,在编程语言中成为脚本(scripts),是指为达到某一分析目的进行的数据读取、数据处理、分析等的命令集合。Stata的基础语法基本语法结构:funNamevariable/(v…

  • 8大轻型网管工具,网络管理好帮手「建议收藏」

    8大轻型网管工具,网络管理好帮手「建议收藏」  从设备发现到系统、网络和流量可视性,这些轻型的网管工具非常实用。在网络和服务器世界,重点是可视性、可视性、可视性,如果你不知道你的网络和服务器在每天每秒正在做什么,你很可能会出问题。幸运的是,这里有很多好工具(商业和开源工具)来帮助你满足需求。  在本文中我们提供了一些很好用的网管工具,这些工具适合各种规模的网络。从网络和服务器监控到趋势、图形,甚至是交换和路由器配置备份,这些工具都可以帮…

  • IDEA解决tomcat控制台乱码问题

    1.IDEA安装目录下的文件里面添加 -Dfile.encoding=UTF-82.如下里面也添加 -Dfile.encoding=UTF-83.Setting里面配置

  • Set集合和数组转换「建议收藏」

    Set集合和数组转换「建议收藏」publicvoidsetToArray(){Set<String>set=newHashSet<>();//错误!!!!!String[]strsFalse=(String[])set.toArray();for(Stringstr:strsFalse){System.out.println(str);}//正确String[]strsTrue=s…

  • 区块链–Arbitrum Rollup(Layer2)

    区块链–Arbitrum Rollup(Layer2)Arbitrum是OffchainLabs团队开发的以太坊Layer2层扩容方案,可以实现高吞吐量,让开发者以低成本部署、运营智能合约,同时可以保持无需信任的安全性总结:Rollup的主要特点是所有交易数据都记录在链上,也就是说,Arbitrum把关乎安全的部分放在以太坊链上,将实际计算和存储放在链下执行。

发表回复

您的电子邮箱地址不会被公开。

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