Null、空字符串的区别

来源:互联网 发布:linux vim 删除多行 编辑:程序博客网 时间:2024/05/05 16:50
Null 值指出变量不包含有效数据。Null 与 Empty 不同,后者指出变量未经初始化。Null 与零长度字符串 ("") 也不同,零长度字符串往往指的是空串。
Null ::一个值,表示一个变量不包含任何有效数据。Null 由以下操作之一产生: 
l 将 Null 显式赋给某变量。
l 对包含 Null 的表达式进行的任何操作。
还有对于用Set MyObject = Nothing设置过的对象变量其值为empty
l 因为Null为不包含任何有效数据,所以对它的任何比较操作(还有大部分运算)所得的值都无效,也就是既不为true也不为false,

区别大了。 name==null 是判断name有没有内存空间。 "".equals(name) 是判断name的内存空间中的值是不是空字符串。 没有内存空间的话是不能对变量或对象进行操作的。会出异常。
String name==null;//是空引用
String name="";//这是个空字符串
String name="";这个在堆上分配了储存空间.你可以调用String的所有方法.
第一个只是空引用.不能在第一个上调用String的任何方法.因为他是一个空引用.空字符串也是串. 
数据库设计中可以规定某字段为null,这样如果不再给他赋值时,此记录即为null

0 0
原创粉丝点击