java 11中isEmpty()和isBlank()方法的区别

Nir*_*ane 1 java string is-empty java-11

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

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

Nir*_*ane 19

是空的()

java字符串isEmpty()方法检查此字符串是否为空.它返回,如果字符串的长度为0,否则为false

System.out.println("".isEmpty()); // Prints - True
System.out.println(" ".isEmpty()); //Prints - False 
Run Code Online (Sandbox Code Playgroud)

Java 11 - isBlank()

java.lang.String.isBlank() 如果字符串为空或仅包含空格,新实例方法返回true,其中空格被定义为传递给Character#isWhitespace(int)时返回true的任何代码点.

boolean blank = string.isBlank();
Run Code Online (Sandbox Code Playgroud)

在Java 11之前

boolean blank = string.trim().isEmpty();
Run Code Online (Sandbox Code Playgroud)

在Java 11之后

boolean blank = string.isBlank();
Run Code Online (Sandbox Code Playgroud)

  • **"在Java 11之前"**和**"在Java 11之后"** - 示例不等同.请参阅/sf/ask/3588660771/ (9认同)
  • 请注意,null.isEmpty() 会抛出 NPE。 (4认同)

小智 5

区别如下:-

对于仅包含空白字符的字符串,isBlank() 返回 true,而对于此类字符串,isEmpty() 将返回 false。

("\n\r  ").isBlank();  //returns true
("\n\r  ").isEmpty();  //returns false
Run Code Online (Sandbox Code Playgroud)

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