在Java中,== null
、isEmpty()
、==""
和 isBlank()
是用于检查变量或对象状态的不同方法,它们各自有不同的应用场景和检查对象。以下是对这四者的详细对
null
,即检查对象是否未被实例化。String str = null;
if (str == null) {
System.out.println("字符串为null");//字符串为null
}
null
对象调用isEmpty()
,会抛出NullPointerException
。
String str1 = "";
String str2 = null;
List<String> list = new ArrayList<>();
if (str1.isEmpty()) {
System.out.println("str1是空字符串");//str1是空字符串
}
// str2.isEmpty(); // 这行会抛出NullPointerException
if (list.isEmpty()) {
System.out.println("list是空集合");//list是空集合
}
equals("")
来比较字符串内容是否为空,因为==""
比较的是引用而非内容。
String str1 = "";
if (str1 == "") {
System.out.println("str1是空字符串");
}
String
类的一个新方法,用于检查字符串是否为空或仅包含空白字符。isBlank()
方法不仅检查字符串是否为空(""
),还检查它是否只包含空格、制表符、换行符等空白字符。if (myString.isBlank())
,检查myString
是否为空或仅包含空白字符。重要提示:
null
对象调用isBlank()
,会抛出NullPointerException
。
String str3 = " ";
String str4 = null;
if (str3.isBlank()) {
System.out.println("str3是空白字符串");//str3是空白字符串
}
// str4.isBlank(); // 这行会抛出NullPointerException
== null
检查对象是否为null。
isEmpty()
检查字符串或集合是否为空,但需确保对象非null。
==""
来比较字符串内容,应使用equals("")
。
isBlank()
(Java 11+)检查字符串是否为空或仅包含空白字符,同样需确保字符串对象非null。