if (value==null||value=="")中间为什么要用或?
好比一个是手上拿着空篮子(""),一个是什么也没有拿(null)
好比一个人没有参加考试得了零分,另一个人参加了老师还是得了零分。
null表示对象是空,“”表示对象非空,但值为空
前者没有开辟内存空间,后者开辟了内存空间,并且这块内存中的值是字符串""
一般null是没有开辟空间的另一个是实实在在存在的
如果为null, 计算机内部不会为其分配空间;
如果为"" , 计算机内部会为其分配空间, 虽然很小, 但是还是要分配的。
if (value==null||value=="")中间为什么要用或?
=》如果 这个变量没有分配空间(一般是赋值操作), 或者值为空
预编译的时候会用到其中的区别。
ifdef(VAR)
cmd...
endif
如果VAR为空,那么cmd是执行的。
如果没有定义过VAR,即为null,那么cmd会被跳过。
不过这么说还不准确,在很多C标准里,NULL是被定义为-1的。
null是这东西根本不存在,“”是有存放的容器,容器里面却什么也没有