NULL空值与字符串空值的区别

在jsp中name==null 与 "".equals(name)之间有什么区别
2024-11-08 06:00:00
推荐回答(5个)
回答1:

区别大了。
name==null 是判断name有没有内存空间。
"".equals(name) 是判断name的内存空间中的值是不是空字符串。

没有内存空间的话是不能对变量或对象进行操作的。会出异常。

回答2:

null主要是数据库中存在的没有值的内容,表示这个值没有定义(没有分配内存空间)但不等于空,""则表示有记录,记录为空。
name==null 与 "".equals(name)的区别就是name==null表示name这个变量没有定义的空值,"".equals(name)表示与空值作比较

回答3:

String name = null,String类的默认值是null,而你一但将name初始化,那么它就有了对应的非null值。name=""是将一个empty值赋给name,empty是一个非null的空值.null的字符串指针不指向任何位置。
name==null 与 "".equals(name)会返回一个false值。

回答4:

== 只有当两个 变量指向同一个对象时,才为真,即比较的是 地址;
equals 只要2者的值相等就为真,即比较的是 值;

如果一个变量==Null这样比较,是判断 它有没有真的指向一个内存空间,即对象;

而 equals 一个空字符,是判断存储空间里的对象是不是个空字符串,如果还没有分配内存空间,则会出现错误;

回答5:

String name==null;//是空引用
String name="";//这是个空字符串
String name="";这个在堆上分配了储存空间.你可以调用String的所有方法.

第一个只是空引用.不能在第一个上调用String的任何方法.因为他是一个空引用.空字符串也是串.