27

Java 11isBlank()为类添加了一个新的实例方法 java.lang.String

isEmpty现有方法和新增方法之间的基本区别是什么isBlank()

4

3 回答 3

41

是空的()

java stringisEmpty()方法检查此字符串是否为空。如果字符串的长度为 0,则返回true,否则返回 false例如

System.out.println("".isEmpty()); // Prints - True
System.out.println(" ".isEmpty()); //Prints - False 

Java 11 - isBlank()

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();
于 2018-07-12T06:58:19.557 回答
3

区别如下:-

isBlank() 对只有空白字符的字符串返回 true,而 isEmpty() 对此类字符串返回 false。

("\n\r  ").isBlank();  //returns true
("\n\r  ").isEmpty();  //returns false

有关代码示例的详细说明,请访问:String 类 Java 中的 isBlank() 与 isEmpty()

于 2020-06-02T09:46:02.243 回答
1

Java 11 添加了.isBlank()String类中调用的新方法

  1. isBlank()方法等于str.trim().isEmpty()早期的 java 11 版本
  2. 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);
    }
}
于 2019-05-03T14:13:08.660 回答