
effective java学习
bird_tp
不管是菜鸟还是笨鸟,反正先飞总是没错
展开
-
考虑采用静态工厂方法代替构造器
考虑采用静态工厂方法代替构造器public class Coca { private final int carbohydrate; private final int calories; private final int fat; private final int sugar; private Coca(int carbohydrate, int calories, int fat, int sugar) { this.car...原创 2020-09-01 09:47:27 · 249 阅读 · 0 评论 -
java 构建器,解决对象属性过多创建对象的问题
假如我们的一个实体类有很多的属性值,但是这些属性值又是可选的。如果我们遇到这样的是类,如何设计出方便的实体类呢?通常解决办法一: 重叠构造器public class User { private String id; // id(必填) private String name; // 用户名(必填) private String email; // 邮箱(可...原创 2018-10-28 22:17:17 · 3504 阅读 · 0 评论 -
用enum代替int常量
1.用enum代替int常量在java1.5之前,表示枚举类型的常用模式是声明一组具名的int常量,每个类型成员一个常量:public static final int APPLE_FUJI = 0;public static final int APPLE_PIPPIN = 1;public static final int APPLE_GRANNY_SMITH = 2;...原创 2018-11-12 16:18:21 · 425 阅读 · 0 评论 -
泛型使用建议
1.不要在新代码中使用原生态类型 虽然不提供类型参数,使用集合类型和其他泛型也仍然是合法的,但是这样就失掉了泛型在安全性(编译时检查)和表述性方面的所有优势。例如,List<E>相对应的原生态类型是List。2.消除非受检警告用泛型编程的时候,会遇到许多的编译器警告:非受检强制转化警告(unchecked cast warning)、非受检方法调用警告、非受检普...原创 2018-11-12 10:38:05 · 232 阅读 · 0 评论 -
java 程序设计建议
1.将局部变量的作用域最小化2.for-each循环优于传统的for循环3.如果需要精确的答案,请避免使用float和double 对于需要精确答案的计算,不能使用float或者double,BigDecimal允许完全控制舍入,如果业务要求涉及多种舍入方式,使用BigDecimal很方便,如果性能很关键,涉及的数值不大,就可以使用int或者float,如果数值范围没有超过9位十...原创 2018-11-13 20:40:57 · 317 阅读 · 0 评论 -
Effctive java 用返回零长度的数组或集合代替返回null
通常用户列表为空时,会习惯性返回null,因为这时会认为:null返回值比零长度数组更好,因为它避免了分配数组所需要的开销。 1 2 3 4 5 6 7 8 9 privatefinalList<UserBean> UserList =null; publicLi...原创 2018-11-13 20:13:45 · 1114 阅读 · 0 评论