龙空技术网

Java中的isEmpty和isBlank区别

科技小码农 1657

前言:

现在朋友们对“javais”可能比较关切,同学们都想要学习一些“javais”的相关知识。那么小编也在网摘上搜集了一些有关“javais””的相关资讯,希望各位老铁们能喜欢,看官们一起来学习一下吧!

大家好,我是程序员7歌,现在我为大家讲解Java中isEmpty和isBlank的区别。

org.apache.commons.lang.StringUtils类提供了String的常用操作,其中最为常用就是isEmpty(String str)和isBlank(String str),我们看一下它的源码:

public static boolean isEmpty(CharSequence cs) { return cs == null || cs.length() == 0;}public static boolean isNotEmpty(CharSequence cs) { return !isEmpty(cs);}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);}

从源码可以看出,判断某字符串是否为空,为空的标准是 str==null 或 str.length()==0;那么我写一个demo来测试一下,如下:

public static void main(String[] args) { System.out.println("===> " + StringUtils.isEmpty("7歌")); System.out.println("===> " + StringUtils.isEmpty(null)); System.out.println("===> " + StringUtils.isEmpty("")); System.out.println("===> " + StringUtils.isEmpty(" "));}

运行结果如下:

===> false===> true===> true===> falseProcess finished with exit code 0

而StringUtils.isNotEmpty(String str) 等价于 !isEmpty(String str)。

我们再来测试一下StringUtils.isBlank(String str) ,代码如下:

public static void main(String[] args) { System.out.println("===> " + StringUtils.isBlank("7歌")); System.out.println("===> " + StringUtils.isBlank(null)); System.out.println("===> " + StringUtils.isBlank("")); System.out.println("===> " + StringUtils.isBlank(" "));}

运行结果如下:

===> false===> true===> true===> trueProcess finished with exit code 0

那么我们可以得出,StringUtils.isBlank(String str) 它是判断某字符串是否为空或长度为0或由空白符(whitespace) 构成,而StringUtils.isBlank(String str) 等价于 !isBlank(String str)。

另外分享个人编写的操作方法:

1.字符串格式化,代码如下:

public static String format(String str, Object... args) { for(int i = 0; i < args.length; ++i) { str = str.replaceFirst("\\{\\}", String.valueOf(args[i])); } return str;}

2.把List(String,Long,Integer)转为自定义分隔符的字符串(比如:, | -等),代码如下

public static String join(List<?> list, String separator) { if (list == null) { return null; } else { if (isEmpty(separator)) { separator = ""; } return Joiner.on(separator).join(list); }}

好了,今天就给大家分享到这里,感谢大家观看~~

标签: #javais