一、引言
前两天和哥们吃饭的时候,还讨论为什么要将null置前的原因。兄弟说:“将null置前的原因是避免空指针的缘故”。真的是这样的吗?
二、探究
为什么会出现空指针异常?如果你引用了一个null对象的时候,并使用该对象进行一系列的操作的时候,这个时候会报空指针异常,下面看一下代码:
public static void main(String[] args) {
Integer obj = null;
if (obj == null){
System.out.println("obj的值为null");
}
}
输出结果:
事实证明,这跟空指针一点关系都没有!
三、为什么要这么写呢?
在网上看到很多,大部分大佬都说避免在if中写成obj = null的情况,事实真的如此吗?
public static void main(String[] args) {
Integer obj = null;
/*if (obj == null) {
System.out.println("obj的值为null");
}*/
//出现编译异常
if (obj = null) {
System.out.println("obj的值为null");
}
}
其实在if中写成obj = null,这个时候就会报编译时异常,编译都通过不了,所以你说呢?
为什么要这么写呢?我想是出于个人的编程习惯风格而已!
四、结尾
我是Cheers!,刚步入职场的一名小白,欢迎各位大佬炮轰!谢谢!