1、空字符串
""是一个空字符串,长度为0且占内存的,可以使用Object对象中的方法。如"".toString()。
new String() 创建一个字符串对象,默认值为""。
检查一个字符串是否为空:
if (str.length() == 0)
//或
if (str.equals(""))
2、null
null是空引用,表示一个对象的值,没有分配内存。字符串为null,调用方法是会被空指针异常。
String类型的变量,默认值为null。
要检查一个字符串是否为 null:
if (str == null)
检查一个字符串既不是 null 也不为空串:
if (str != null && str.length() != 0)
注意:首先要检查 str 不为 null。
public static void main(String[] args) {
String str1 = new String();
String str2 = null;
String str3 = "";
System.out.println(str3.length()); // 空字符串""的长度为0
System.out.println(str2.length()); // 抛出空指针异常
System.out.println(str1); // 输出""
System.out.println(str1 == str2); // 内存地址的比较,返回false
System.out.println(str1.equals(str2)); // 值的比较,返回false
System.out.println(str2 == str3); // 内存地址的比较,返回false
System.out.println(str3.equals(str2)); // 值的比较,返回false
System.out.println(str1 == str3); // 内存地址的比较,返回false
System.out.println(str1.equals(str3)); // 值的比较,返回true
}