Effective Java - 如果其他类型更适合,则尽量避免使用字符串

第61条 基本类型优先于装箱基本类型

  1. 不要对装箱基本类型使用"=="
  2. 当在一项操作中混合使用基本类型和装箱基本类型时,装箱基本类型就会自动拆箱,如果装箱类型是null,会抛出空指针

思考

  1. 除了泛型,应该尽量使用基本数据类型
  2. 不能将装箱类型和基本类型混用,会导致频繁的拆装箱,从而降低性能

第62条 如果其他类型更适合,则尽量避免使用字符串

  1. 字符串不适合代替其他的值类型
  2. 字符串不适合代替枚举类型
  3. 字符串不适合代替聚集类型。这里指的是同一个对象的不同字段,使用分隔符拼接成一个String

思考

  1. 比较常见的使用String代替其它类型的就是数字以及时间。对于VO这种会被转换成json和UI交互的对象,将文字和时间使用String存储是可以接受的。日期有序列化反序列化的风险,虽然这些框架已经支持了定义日期格式,使用的时候还是需要每一个接口都规范好格式。数字之前碰到的问题就是很大的Long类型在转成json的时候值变化了。其他的在后台进行数据传输之类的对象,可以使用规范的类型(枚举、日期、数字等),尽量不要使用String
  2. 使用分割符拼接字段是非常常用的,我们就经常使用name@@id这种格式,如果不用这种格式其实是会让数据结构变得复杂。不过这种应用也要适度
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容