但很多时候我们也会把由一些不可见的字符组成的String也当成是空字符串(e.g, space, tab, etc),这时候就不能单用length或isEmpty()来判断了,因为technically上来说,这个String是非空的。这时候可以用String的方法trim(),去掉前导空白和后导空白,再判断是否为空。
例:
public class TestEmpty
{
public static void main(String[] args){
String a = " ";
// if (a.isEmpty())
if (a.trim().isEmpty())
{
System.out.println("It is empty");
}
else
{
System.out.println("It is not empty");
}
}
}
结果:It is empty
声明一个String str
如果说str是null,那么内存根本没有创建字符串对象,并由str引用。
如果说str是空串,那么确定存在一个由str引用的字符串对象,只不过这个字符串的值是空
null用来表示没有实例存在,而“”本身就是一个实例,有自己的对象空间,和“123456”这样的字符串没有区别。
其次要注意:
1)当oracle 字段里面的值为空时,从oracle读出来的是字符串"null"(可能是程序读出来的时,将空对象转换成为了字符串“null”)。