short
|
(short)0
|
|
int
|
0
|
|
long
|
0L
|
|
float
|
0.0f
|
|
double
|
0.0d
|
null只是一种特殊的值
null既不是对象也不是一种类型,它仅是一种特殊的值,你可以将它赋予任何类型,你可以将null转换为任何类型。
你可以看到在编译期和运行期内,将null转换成任何的引用类型都是可行的,并且不会抛出空指针异常。
null只能赋值给引用变量,不能赋值给基本类型变量。
持有null的包装类在进行自动拆箱的时候,不能完成转换,会抛出空指针异常,并且null****也不能和基本数据类型进行对比
使用了帯有null值的引用类型变量,instance of 操作会返回false
这是instanceof操作符一个很重要的特性,使得对类型强制转换检查很有用
静态变量为null调用静态方法不会抛出NullPointerException。因为静态方法使用了静态绑定。
使用Null-Safe方法
你应该使用null-safe安全的方法,java类库中有很多工具类都提供了静态方法,例如基本数据类型的包装类,Integer , Double等。例如:
number没有赋值,所以默认为null,使用String.value(number)静态方法没有抛出空指针异常, 但是使用toString却抛出了空指针异常。所以尽量使用对象的静态方法。
null判断
你可以使用**==或者!=**操作来比较null值,但是不能使用其他算法或者逻辑操作,例如小于或者 大于。跟SQL不一样,在Java中null == null将返回true,如下所示:
常用的Java工具包的思维导图汇总如下:
Java.math
最后
分布式技术专题+面试解析+相关的手写和学习的笔记pdf
还有更多Java笔记分享如下:
watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5omY6ams5pavLemFt-a2mw==,size_20,color_FFFFFF,t_70,g_se,x_16)
最后
分布式技术专题+面试解析+相关的手写和学习的笔记pdf
还有更多Java笔记分享如下:
[外链图片转存中…(img-NdhSSpQD-1714558340680)]