public Long getLoginUserId(){
//如果未获取到返回null
return null;
}
//如果返回null将报NPE(NullPointerException)
long userId = service.getLoginUserId();
Long是可以自动拆箱为long的,但是,long却不能接收null,所以,在调用方法的时候,一定要注意用方法声明的返回类型进行接收,避免用基本类型接收引用类型的值,出现NPE。
拓展:
1、引用类型在进行比较时,要用equals,而不能用=,=比较的是对象地址,而equals才是比较值。
2、在调用任何引用类型变量的属性时,都要考虑是否非空,比如if(object != null && object.equals(objectx))~~~
NPE问题:
1、对象为null时,直接尝试调用对象的属性或方法
2、用基本类型变量接收null
本文探讨了Java中NullPointerException(NPE)的常见原因,特别是当Long对象被不当转换为long基本类型时引发的问题。文章强调了在处理引用类型与基本类型之间的转换时的注意事项,以及如何避免NPE。同时,提供了关于引用类型比较和非空检查的实用建议。

3万+

被折叠的 条评论
为什么被折叠?



