读java编程建议--笔记一

来源:互联网 发布:jo malone推荐知乎 编辑:程序博客网 时间:2024/05/21 09:26

1.三元操作符的类型务必一致

int i = 80;String s = String.valueOf(i<100?90:100);String s1 = String.valueOf(i<100?90:100.1);system.out.print(s.equal(s1));

结果是true还是false呢,结果是false;因为s三元比较符中有浮点型,因此90转换为90.0啦,哈哈,
三元操作符必须要返回一个数据,并且必须要求是确定的,不能出现条件为true时返回整型,条件为false时返回true。
如果两个类型能够相互转换,则转换为范围大的,否则,转换为Object。
2.避免带有变长参数的方法重载
3.自增陷阱
i=0;
i = i++;我还是我,i依然是0
4.显式的声明UID,实现序列化接口时。
5.在序列化类中,不使用构造函数为final 变量赋值,因为反序列化时, 构造函数不会重新执行;
反序列化时final变量在以下情况不会被重新赋值:
(1) 通过构造函数为final变量赋值;
(2)通过方法返回值为final变量赋值;
(3)final修饰的属性不是基本类型;
6.可以使用序列化类的私有方法巧妙的解决部分属性持久化问题。
7.易变业务使用脚本语言编写。
8.assert 断言适用场景:
(1)在私有方法中放置assert作为输入参数的校验
(2)流程控制中不可能达到的区域
(3)建立程序探针,如果入参不满足条件,业务也就没有必要运行下去了。
9.不要只替换一个.class类,应整个war包替换,例如对于具有常量的类就会出现问题;

原创粉丝点击