String类的isEmpty()方法和isBlank()在Java中都用于检查字符串的内容,但它们检查的内容有所不同。这两个方法都是Java 11引入的,用以更清晰地表达字符串检查的目的。
简单来说:isEmpty()方法仅检查字符串是否为空(即长度为 0),而isBlank()方法不仅检查字符串是否为空,还检查它是否仅包含空白字符。
public class StringTest { public static void main(String[] args) { String str1 = ""; String str2 = " "; String str3 = " "; String str4 = "Hello"; String str5 = "\t";String str6 = " \t ";System.out.println(str1.isEmpty()); // true System.out.println(str1.isBlank()); // true System.out.println(str2.isEmpty()); // false System.out.println(str2.isBlank()); // true System.out.println(str3.isEmpty()); // false System.out.println(str3.isBlank()); // true System.out.println(str4.isEmpty()); // false System.out.println(str4.isBlank()); // false System.out.println(str5.isEmpty()); // falseSystem.out.println(str5.isBlank()); // trueSystem.out.println(str6.isEmpty()); // falseSystem.out.println(str6.isBlank()); // true}
}
所以,以上代码,只有第一个isEmpty()返回true,因为里面确实什么都没有,长度为0;而isBlank()忽视了空格。