【glide源码】【券源码】【贴源码】isempty方法源码_java中isempty方法

时间:2024-12-23 04:50:01 编辑:校园赞助平台源码 来源:瑞普恩菁珀溯源码在哪里啊

1.isempty和isblank的方法源y方法用法区别,你都知道吗?
2.StringUtils中isEmpty 和isBlank的区别
3.常用的 list.isEmpty() 为何突然报null?

isempty方法源码_java中isempty方法

isempty和isblank的用法区别,你都知道吗?

       在编程中,我们经常会遇到需要判断字符串是方法源y方法否为空的情况。这时候,方法源y方法我们通常会用到工具类StringUtils中的方法源y方法isEmpty和isBlank方法。这两个方法都用于判断字符串是方法源y方法否为空,但它们的方法源y方法glide源码判断标准有所区别。

       isEmpty方法用于判断字符串是方法源y方法否为空字符串。只要字符串中包含任何字符,方法源y方法无论该字符是方法源y方法否为空白字符,isEmpty方法都会判断字符串不为空。方法源y方法它的方法源y方法方法源码只判断了字符串是否为null或者长度为0。这意味着,方法源y方法如果用户输入" "等空白字符,方法源y方法isEmpty方法会返回false,方法源y方法即判断为不为空。方法源y方法

       而isBlank方法则用于判断字符串是否为空字符串,但其判断标准更加严格。券源码isBlank方法会判断字符串中的所有字符是否都是空白字符。如果字符串中存在任何非空白字符,isBlank方法就会返回false。它的方法源码在第7行有一处关键判断,只要字符串中有一个字符不是空白字符,就会返回false。这意味着,如果用户输入" "等空白字符,贴源码isBlank方法会正确地返回true,即判断为空。

       通过上述的解释,我们可以看出isEmpty和isBlank方法在判断字符串是否为空时有着不同的标准。在实际编程中,我们需要根据具体场景的需求来选择使用哪个方法。例如,在一些业务场景下,源码法我们可能希望判断字符串是否为空白字符,此时isBlank方法会更加合适。而在其他场景下,我们可能只需要判断字符串是否为空字符串,此时isEmpty方法则更为适用。

StringUtils中isEmpty 和isBlank的区别

       ã€€ã€€StringUtils在commons-lang-2.2.jar包中:org.apache.commons.lang.StringUtils ;

       ã€€ã€€

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

       ã€€ã€€

       ã€€ã€€é™¤äº†æž„造器,StringUtils中一共有多个方法,并且都是static的,所以我们可以这样调用StringUtils.xxx()

       ã€€ã€€1. public static boolean isEmpty(String str)

       ã€€ã€€åˆ¤æ–­æŸå­—符串是否为空,为空的标准是str==null或str.length()==0

       ã€€ã€€ä¸‹é¢æ˜¯StringUtils判断是否为空的示例:

       ã€€ã€€StringUtils.isEmpty(null) = true

       ã€€ã€€StringUtils.isEmpty("") = true

       ã€€ã€€StringUtils.isEmpty(" ") = false //注意在StringUtils中空格作非空处理

       ã€€ã€€StringUtils.isEmpty(" ") = false

       ã€€ã€€StringUtils.isEmpty("bob") = false

       ã€€ã€€StringUtils.isEmpty(" bob ") = false

       ã€€ã€€2. public static boolean isNotEmpty(String str)

       ã€€ã€€åˆ¤æ–­æŸå­—符串是否非空,等于!isEmpty(String str)

       ã€€ã€€ä¸‹é¢æ˜¯ç¤ºä¾‹ï¼š

       ã€€ã€€StringUtils.isNotEmpty(null) = false

       ã€€ã€€StringUtils.isNotEmpty("") = false

       ã€€ã€€StringUtils.isNotEmpty(" ") = true

       ã€€ã€€StringUtils.isNotEmpty(" ") = true

       ã€€ã€€StringUtils.isNotEmpty("bob") = true

       ã€€ã€€StringUtils.isNotEmpty(" bob ") = true

       ã€€ã€€3. public static boolean isBlank(String str)

       ã€€ã€€åˆ¤æ–­æŸå­—符串是否为空或长度为0或由空白符(whitespace)构成

       ã€€ã€€ä¸‹é¢æ˜¯ç¤ºä¾‹ï¼š

       ã€€ã€€StringUtils.isBlank(null) = true

       ã€€ã€€StringUtils.isBlank("") = true

       ã€€ã€€StringUtils.isBlank(" ") = true

       ã€€ã€€StringUtils.isBlank(" ") = true

       ã€€ã€€StringUtils.isBlank("\t \n \f \r") = true //对于制表符、换行符、换页符和回车符StringUtils.isBlank()均识为空白符

       ã€€ã€€StringUtils.isBlank("\b") = false //"\b"为单词边界符

       ã€€ã€€StringUtils.isBlank("bob") = false

       ã€€ã€€StringUtils.isBlank(" bob ") = false

       ã€€ã€€4. public static boolean isNotBlank(String str)

       ã€€ã€€åˆ¤æ–­æŸå­—符串是否不为空且长度不为0且不由空白符(whitespace)构成,等于!isBlank(String str)

       ã€€ã€€ä¸‹é¢æ˜¯ç¤ºä¾‹ï¼š

       ã€€ã€€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

       ã€€ã€€å…¶ä»–方法介绍:

       ã€€ã€€5. public static String trim(String str)

       ã€€ã€€åŽ»æŽ‰å­—符串两端的控制符(control characters, char <= ),如果输入为null则返回null

       ã€€ã€€ä¸‹é¢æ˜¯ç¤ºä¾‹ï¼š

       ã€€ã€€StringUtils.trim(null) = null

       ã€€ã€€StringUtils.trim("") = ""

       ã€€ã€€StringUtils.trim(" ") = ""

       ã€€ã€€StringUtils.trim(" \b \t \n \f \r ") = ""

       ã€€ã€€StringUtils.trim(" \n\tss \b") = "ss"

       ã€€ã€€StringUtils.trim(" d d dd ") = "d d dd"

       ã€€ã€€StringUtils.trim("dd ") = "dd"

       ã€€ã€€StringUtils.trim(" dd ") = "dd"

       ã€€ã€€6. public static String trimToNull(String str)

       ã€€ã€€åŽ»æŽ‰å­—符串两端的控制符(control characters, char <= ),如果变为null或"",则返回null

       ã€€ã€€ä¸‹é¢æ˜¯ç¤ºä¾‹ï¼š

       ã€€ã€€StringUtils.trimToNull(null) = null

       ã€€ã€€StringUtils.trimToNull("") = null

       ã€€ã€€StringUtils.trimToNull(" ") = null

       ã€€ã€€StringUtils.trimToNull(" \b \t \n \f \r ") = null

       ã€€ã€€StringUtils.trimToNull(" \n\tss \b") = "ss"

       ã€€ã€€StringUtils.trimToNull(" d d dd ") = "d d dd"

       ã€€ã€€StringUtils.trimToNull("dd ") = "dd"

       ã€€ã€€StringUtils.trimToNull(" dd ") = "dd"

       ã€€ã€€7. public static String trimToEmpty(String str)

       ã€€ã€€åŽ»æŽ‰å­—符串两端的控制符(control characters, char <= ),如果变为null或"",则返回""

       ã€€ã€€ä¸‹é¢æ˜¯ç¤ºä¾‹ï¼š

       ã€€ã€€StringUtils.trimToEmpty(null) = ""

       ã€€ã€€StringUtils.trimToEmpty("") = ""

       ã€€ã€€StringUtils.trimToEmpty(" ") = ""

       ã€€ã€€StringUtils.trimToEmpty(" \b \t \n \f \r ") = ""

       ã€€ã€€StringUtils.trimToEmpty(" \n\tss \b") = "ss"

       ã€€ã€€StringUtils.trimToEmpty(" d d dd ") = "d d dd"

       ã€€ã€€StringUtils.trimToEmpty("dd ") = "dd"

       ã€€ã€€StringUtils.trimToEmpty(" dd ") = "dd"

       ã€€ã€€8. public static String strip(String str)

       ã€€ã€€åŽ»æŽ‰å­—符串两端的空白符(whitespace),如果输入为null则返回null

       ã€€ã€€ä¸‹é¢æ˜¯ç¤ºä¾‹(注意和trim()的区别):

       ã€€ã€€StringUtils.strip(null) = null

       ã€€ã€€StringUtils.strip("") = ""

       ã€€ã€€StringUtils.strip(" ") = ""

       ã€€ã€€StringUtils.strip(" \b \t \n \f \r ") = "\b"

       ã€€ã€€StringUtils.strip(" \n\tss \b") = "ss \b"

       ã€€ã€€StringUtils.strip(" d d dd ") = "d d dd"

       ã€€ã€€StringUtils.strip("dd ") = "dd"

       ã€€ã€€StringUtils.strip(" dd ") = "dd"

       ã€€ã€€9. public static String stripToNull(String str)

       ã€€ã€€åŽ»æŽ‰å­—符串两端的空白符(whitespace),如果变为null或"",则返回null

       ã€€ã€€ä¸‹é¢æ˜¯ç¤ºä¾‹(注意和trimToNull()的区别):

       ã€€ã€€StringUtils.stripToNull(null) = null

       ã€€ã€€StringUtils.stripToNull("") = null

       ã€€ã€€StringUtils.stripToNull(" ") = null

       ã€€ã€€StringUtils.stripToNull(" \b \t \n \f \r ") = "\b"

       ã€€ã€€StringUtils.stripToNull(" \n\tss \b") = "ss \b"

       ã€€ã€€StringUtils.stripToNull(" d d dd ") = "d d dd"

       ã€€ã€€StringUtils.stripToNull("dd ") = "dd"

       ã€€ã€€StringUtils.stripToNull(" dd ") = "dd"

       ã€€ã€€. public static String stripToEmpty(String str)

       ã€€ã€€åŽ»æŽ‰å­—符串两端的空白符(whitespace),如果变为null或"",则返回""

       ã€€ã€€ä¸‹é¢æ˜¯ç¤ºä¾‹(注意和trimToEmpty()的区别):

       ã€€ã€€StringUtils.stripToNull(null) = ""

       ã€€ã€€StringUtils.stripToNull("") = ""

       ã€€ã€€StringUtils.stripToNull(" ") = ""

       ã€€ã€€StringUtils.stripToNull(" \b \t \n \f \r ") = "\b"

       ã€€ã€€StringUtils.stripToNull(" \n\tss \b") = "ss \b"

       ã€€ã€€StringUtils.stripToNull(" d d dd ") = "d d dd"

       ã€€ã€€StringUtils.stripToNull("dd ") = "dd"

       ã€€ã€€StringUtils.stripToNull(" dd ") = "dd"

常用的 list.isEmpty() 为何突然报null?

       发现项目中常用方法突然报null,今天就来详细探讨下原因。

       以往使用list集合判断是六源码否为空时,通常会通过list.isEmpty()方法来判断返回值是否为true,以此继续执行业务流程。然而,近期这个方法突然报出null错误,这是怎么回事呢?

       业务场景模拟:

       创建一个父类,并在其中定义子类的list,main方法中给父类id赋值,但list未赋值。之后,尝试使用father.getSonList()方法时,遇到了空异常问题。而使用CollectionUtils进行判断时,则未出现此错误。

       下面看一段代码示例:

       原因分析:

       深入探究源码后发现,CollectionUtils里确实也包含了isEmpty的判断。那么,为何它没有报出错误呢?

       其实,我们知道&&和||都是短路操作符。&&要求两个条件都为真时,才会返回真值,一旦第一个条件为假,则后续条件不再执行,直接返回假值。而||只要第一个条件为真,就不再执行后续条件,直接返回真值。

       因此,问题原因在于:CollectionUtils在先判断是否为null的同时,使用了短路模式,并通过||操作符确保了即使list为空,也能够提前返回真值,避免了空异常的发生。这样一来,业务流程得以正常进行,避免了null错误的产生。

搜索关键词:poppin源码