null表示没有被分配内存空间,而""表示分配了内存空间但是值为""即一个空字符串;
没有内存空间的话是不能对变量或对象进行操作的。会出异常。
null主要是数据库中存在的没有值的内容,表示这个值没有定义(没有分配内存空间)但不等于空,""则表示有记录,记录为空。
name==null 与 "".equals(name)的区别就是name==null表示name这个变量没有定义的空值,"".equals(name)表示与空值作比较
如果name==null 为true,则表示name这个对象没有被分配内存空间,只是在栈内存中有个名,并没有在堆内存中赋值;而name==""为true则表示name这个对象有值,只是值为空;