Java 11isBlank()
为类添加了一个新的实例方法 java.lang.String
。
isEmpty
现有方法和新增方法之间的基本区别是什么isBlank()
?
是空的()
java stringisEmpty()
方法检查此字符串是否为空。如果字符串的长度为 0,则返回true,否则返回 false例如
System.out.println("".isEmpty()); // Prints - True
System.out.println(" ".isEmpty()); //Prints - False
java.lang.String.isBlank()
如果字符串为空或仅包含空格,则新实例方法返回 true ,其中空格定义为任何在传递给 Character#isWhitespace(int) 时返回 true 的代码点。
boolean blank = string.isBlank();
Java 11 之前
boolean blank = string.trim().isEmpty();
Java 11 之后
boolean blank = string.isBlank();
区别如下:-
isBlank() 对只有空白字符的字符串返回 true,而 isEmpty() 对此类字符串返回 false。
("\n\r ").isBlank(); //returns true
("\n\r ").isEmpty(); //returns false
有关代码示例的详细说明,请访问:String 类 Java 中的 isBlank() 与 isEmpty()
Java 11 添加了.isBlank()
在String
类中调用的新方法
isBlank()
方法等于str.trim().isEmpty()
早期的 java 11 版本isEmpty()
: 当且仅当 length() 为 0 时返回 true这是java 11类中isBlank()
方法的内部实现String
public boolean isBlank() {
return indexOfNonWhitespace() == length();
}
private int indexOfNonWhitespace() {
if (isLatin1()) {
return StringLatin1.indexOfNonWhitespace(value);
} else {
return StringUTF16.indexOfNonWhitespace(value);
}
}