Java中isEmpty()和isBlank()之间的区别
String.isEmpty():如果String为空,则isEmpty()方法返回 true 。否则,返回 false。
Java 11 中引入的isBlank ()方法与isEmpty()相同,但细微差别在于它对于 仅包含空白字符的字符串也返回 true 。
Java 中被视为空白字符的五个字符是\s(空格)以及\t、\n、\r 和 \f转义序列。
isBlank()方法内部会搜索第一个非空白字符的索引。如果没有非空白字符,则该索引将等于数组的长度。最后,它将该索引与字节数组的长度进行比较以输出正确的答案。
@Test |
- 第二个字符串不包含任何字符,因此isBlank()返回true。
- 第三行的String只有空白字符,因此isBlank()返回true。
- 最后一行中的字符串包含所有被视为空格的转义序列字符。因此,在这种情况下, isBlank()也会返回 true。
在 Java 11 之前,开发人员通常使用String.trim()和 String.isEmpty()的组合 来验证文本是否仅包含空格字符。但是,正如我们在本教程中看到的,在使用 Java 11 或更高版本的应用程序中,我们可以简化为仅使用String.isBlank()。