声明一个String str
如果说str是null,那么内存根本没有创建字符串对象,并由str引用。
如果说str是空串,那么确定存在一个由str引用的字符串对象,只不过这个字符串的值是空
null用来表示没有实例存在,而“”本身就是一个实例,有自己的对象空间,和“123456”这样的字符串没有区别。
其次要注意:
1)当oracle 字段里面的值为空时,从oracle读出来的是字符串"null"(可能是程序读出来的时,将空对象转换成为了字符串“null”)。
(2)还有URL得参数时如:oylin.jsp?id=<%=id%>,当id为空对象是,有可能也将空对象转换成为了字符串“null”,在写程序的时候要多加注意。
另一个问题就是String的null或控制的判断处理:有以下两种方法
(name != null && !name.equals("")){
dosomething();
}
或者
if(!"".equals(name)){//将“”写在前面,不管name是否为null,都不会报错
dosomething();
}