避免通过一个类的对象引用访问此类的静态变量或静态方法,无谓增加编译器解析成本,直接用类名来访问即可
所有的覆写方法,必须加@override注解
相同参数类型,相同业务含义,才可以使用java的可变参数,避免使用object
接口过时必须加@Depercated注解,并清晰地说明采用的新接口或者新服务是什么
不能使用过时的类或方法
所有相同类型的包装类对象之间值得比较,全部使用equals方法比较.
对于Integer var=?在-128至127范围内的赋值,Integer对象是在IntegerCache.cache产生,会复用已有对象,
这个区间内的Integer值可以直接使用==进行判断,但是这个区间之外的所有数据,都会在堆上产生,并不会复用已有对象,
推荐使用equals方法进行判断
基础数据类型和包装数据类型的使用标准
1.所有的POJO类属性必须使用包装数据类型
2.RPC方法的返回值和参数必须使用包装数据类型
3.所有的局部变量使用基本数据类型
POJO类属性没有初值是提醒使用者在需要使用时,必须自己显式地进行赋值,任何NPE问题,或者入库检查,都由使用者来保证
(定义POJO类 不要设定任何属性默认值)
序列化类新增属性时,请不要修改serialVersioUID字段,避免反序列失败;如果完全不兼容升级,避免反序列化混乱,那么请修改servialVersionUID的值(//TODO 序列化接口的原理)
构造方法里面禁止加入任何业务逻辑,如果有初始化逻辑,请放在init方法中
POJO类必须写toString方法,如果继承了另一个POJO类,注意加一下super.toString()<