2 cufelsd cufelsd 于 2015.06.22 00:28 提问

null与""的区别是什么???

if (value==null||value=="")中间为什么要用或?

8个回答

caozhy
caozhy   Ds   Rxr 2015.06.22 01:06
已采纳

好比一个是手上拿着空篮子(""),一个是什么也没有拿(null)

guigenyi
guigenyi   2015.06.22 07:53

前者没有开辟内存空间,后者开辟了内存空间,并且这块内存中的值是字符串""

limao_zhan
limao_zhan   2015.06.22 06:22

null表示对象是空,“”表示对象非空,但值为空

SamoyedSun
SamoyedSun 在非面向对象的语言中也可以这么解释吗
2 年多之前 回复
tongyi55555
tongyi55555   2015.06.22 09:12

一般null是没有开辟空间的另一个是实实在在存在的

yenange
yenange   2015.06.22 10:19

如果为null, 计算机内部不会为其分配空间;
如果为"" , 计算机内部会为其分配空间, 虽然很小, 但是还是要分配的。

if (value==null||value=="")中间为什么要用或?
=》如果 这个变量没有分配空间(一般是赋值操作), 或者值为空

huiquyiduxian
huiquyiduxian   2015.06.22 11:09

预编译的时候会用到其中的区别。
ifdef(VAR)
cmd...
endif
如果VAR为空,那么cmd是执行的。
如果没有定义过VAR,即为null,那么cmd会被跳过。

不过这么说还不准确,在很多C标准里,NULL是被定义为-1的。

u012455098
u012455098   2015.06.22 15:34

null是这东西根本不存在,“”是有存放的容器,容器里面却什么也没有

u013013200
u013013200   2015.06.22 01:20

好比一个人没有参加考试得了零分,另一个人参加了老师还是得了零分。

Csdn user default icon
上传中...
上传图片
插入图片