Java线上踩坑案例,你肯定也遭遇过类似困境?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1798个文字,预计阅读时间需要8分钟。
线上问题年年有,今年特别多。记几次线上踩坑记录,希望以史为鉴。
1. 装类型自动解箱导致空指针异常javapublic int getId() { Integer id=null; return id;}如果调用上述方法,会引发空指针异常。
线上问题年年有,今年特别多。记几次线上惨痛的踩坑记录,希望大家以史为鉴。
1. 包装类型自动解箱导致空指针异常
public int getId() {
Integer id = null;
return id;
}
如果调用上面的方法会发生什么?id是Integer类型,而方法的返回值int类型,会自动拆箱转换,由于id是null,转换成int类型的时候,就会报NullPointerException异常。
无论是《阿里Java开发手册》、《代码整洁之道》还是《Effective Java》都建议方法返回值类型尽量写成包装类型,类似Integer。还有实体类、接收前端传参类、给前端的响应类中的属性都要写成包装类型,避免拆箱出错。
本文共计1798个文字,预计阅读时间需要8分钟。
线上问题年年有,今年特别多。记几次线上踩坑记录,希望以史为鉴。
1. 装类型自动解箱导致空指针异常javapublic int getId() { Integer id=null; return id;}如果调用上述方法,会引发空指针异常。
线上问题年年有,今年特别多。记几次线上惨痛的踩坑记录,希望大家以史为鉴。
1. 包装类型自动解箱导致空指针异常
public int getId() {
Integer id = null;
return id;
}
如果调用上面的方法会发生什么?id是Integer类型,而方法的返回值int类型,会自动拆箱转换,由于id是null,转换成int类型的时候,就会报NullPointerException异常。
无论是《阿里Java开发手册》、《代码整洁之道》还是《Effective Java》都建议方法返回值类型尽量写成包装类型,类似Integer。还有实体类、接收前端传参类、给前端的响应类中的属性都要写成包装类型,避免拆箱出错。

