The
Java
Language
Specification中原文:
while
null
might
appear
to
be
a
keyword,
it
is
technically
the
null
literal。
null看起来好像是个关键字,但从技术上讲是个字面常量。
1, 基本数据类型的话,直接使用,不用它的包装类,包装类会存在null的情况(但要注意基本数据类型默认值,比如为0的情况);2,对进入方法的参数进行明确判断,为null就处理掉
3,调用其他方法返回的数据,进行判断null再进行操作
4,不确定的地方可以加try catch捕获,然后转为明确的提示
两者的区别与 “数字0和没有不是同一种概念”是一个道理。null是空对象,""是空字符串
null可以赋值给任何对象,而""就不行了,只能赋值给字符串对象
如:
String s=null//定义了一个对象实例s,但未将该实例指向任何内存空间
String s=""//定义了一个对象实例s,指向了一个空串