Effective Java读书笔记01

01 Consider static factory methods instead of constructors

使用静态工厂方法代替参数很多并且参数类型一样的构造方法, 这样用户会比较清晰的构造对象.

02 Consider a builder when faced with many constructor parameters

使用构造器模式代替参数很多的构造器方法, 这样用户可以根据自己的用途构造对象, 不用每次都加上自己用不到的参数就构造对象.

03 Enforce the singleton property with a private constructor or an enum type

作者建议使用枚举类创建单例对象, 使用简单, 并且不需要考虑序列化等问题. spring注入的bean默认都是单例的, 它是如何实现的? 后面看下.

04 Enforce noninstantiability with a private constructor

工具类一般只包含静态字段和静态方法, 对于这样的工具类强制使用一个私有构造方法, 防止用户初始化该类. 更强一点是在私有构造方法中抛出异常, 这样就可以防止用户通过反射等手段初始化对象.

05 Avoid creating unnecessary objects

  1. 避免创建不必要的对象, 比如通过new String("xxx") 创建字符串类型, 实际创建了两个对象, 不过一般工作中大家也没有这么用的, 都是直接赋值 String s = "xxxx". 这种比较明显的问题一般都会注意.
  2. 还有一种不明显的. 在对基础类型自动装箱时会创建装箱类型对象, 这个是平常工作中不太在意的点(一般只关注拆箱的NPE问题), 我们应该在入口处做好类型装换, 避免在业务处理中频繁的拆箱装箱.
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容