反例: R*)0$J0J%(
说明:推荐使用*)0MR*)0(>引入的工具类)
【强制】所有的相同类型的包装类对象之间值的比较,全部使用R*)0 方法比较。 说明:对
于<&P在VA至之间的赋值,<对象是在</产
生,会复用已有对象,这个区间内的<值可以直接使用&&进行判断, 但是这个区间之
外的所有数据,都会在堆上产生,并不会复用已有对象,这是一个大坑,推荐使用R*)0 方
法进行判断。
A【强制】关于基本数据类型与包装数据类型的使用标准如下:
)所有的类属性必须使用包装数据类型。
)B/方法的返回值和参数必须使用包装数据类型。
')所有的局部变量推荐使用基本数据类型。
说明:类属性没有初值是提醒使用者在需要使用时,必须自己显式地进行赋值,任
何#?问题,或者入库检查,都由使用者来保证。
正例:数据库的查询结果可能是*)),因为自动拆箱,用基本数据类型接收有#?风险。
反例:某业务的交易报表上显示成交总额涨跌情况,即正负@[,@为基本数据类型,调用
的
B/服务,调用不成功时,返回的是默认值,页面显示:[,这是不合理的,应该显示成
中划 线V。所以包装数据类型的*))值,能够表示额外的信息,如:远程调用失败,异常退
出。
E【强制】定义12等类时,不要设定任何属性默认值。
反例:某业务的的/默认值为:$%(但是这个属性在数据提取时并没
有置入具体值,在更新其它字段时又附带更新了此字段,导致创建时间被修改成当前时间。
【强制】序列化类新增属性时,请不要修改0)20-<字段,避免反序列失败;如
果 完全不兼容升级,避免反序列化混乱,那么请修改0)20-<值。
说明:注意0)20-<不一致会抛出序列化运行时异常。
【强制】构造方法里面禁止加入任何业务逻辑,如果有初始化逻辑,请放在方法
中。 【强制】类必须写6方法。使用工具类0*G6
时,如果继
承了另一个类,注意在前面加一下0*.6 。 说明:在方法执行抛出异常
时,可以直接调用的6$%方法打印其属性值,便于排 查问题。
'【推荐】使用索引访问用6的0.)方法得到的数组时,需做最后一个分隔符后有无内
容的检查,否则会有抛<7@* !*70?@.的风险。