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