阿里官方Java代码规范标准解析 - 基本数据类型与包装数据类型的使用标准

关于基本数据类型与包装数据类型的使用标准

1) 所有的POJO类属性必须使用包装数据类型。

 2) RPC方法的返回值和参数必须使用包装数据类型。

 3) 所有的局部变量推荐使用基本数据类型。

说明:POJO类属性没有初值是提醒使用者在需要使用时,必须自己显式地进行赋值,任何NPE问题,或者入库检查,都由使用者来保证。

public class DemoDO {
        String str;
        Integer a;
    }

正例

数据库的查询结果可能是null,因为自动拆箱,用基本数据类型接收有NPE风险

反例

某业务的交易报表上显示成交总额涨跌情况,即正负x%,x为基本数据类型,调用的HSF服务,调用不成功时,返回的是默认值,页面显示:0%,这是不合理的,应该显示成中划线-。所以包装数据类型的null值,能够表示额外的信息,如:远程调用失败,异常退出

扩展说明

  • 1)数据库到应用之间传递的是包装数据类型,即使定义的是基本的。在方法内运算,我推荐也是基本的。手册推荐的是防御氏编程。使用包装形式出现的可能npe问题需要调用者处理
  • 2)序列化传输以对象形式来传输的
  • 3)参数之间校验规则参考另一条


参考

https://www.zhihu.com/question/264430374/answer/280824636

上一篇:运算符的优先级


下一篇:根据运算符优先级解析SQL规则表达式