- 使用java.util.Objects类中的方法进行对象间操作,如equals。这样可以避免空引用的异常。
- Integer i=... 在128~-127之间的值来自于cache。这一范围是可更改的。然而Long类型的这一范围是不可更改的!
- 所有POJO类属性和RPC方法调用参数及返回值使用包装类,局部变量使用基本类型。包装类的null值表示了额外的信息。
- Object.clone()是浅拷贝,需要自己重写。
- 只要重写equals方法就必须重写hashCode方法。
- Map类返回的keySet和Collection返回的一些list都是immutable的,试图添加元素会跑异常。
- 集合转数组,使用toArray的带参方法并保证入参的大小正好。
- Arrays.asList返回的是视图,不可新增或删除。
- 无泛型限制的集合赋值给泛型集合时要用instance of判断,否则后面会有class cast 异常
- 使用entrySet或者Map.foreach遍历元素,而不是使用keySet。后者实际上遍历了两次。
- 高度注意使用的Map类是否能存储null
- 使用Set的特性对集合元素进行去重。
一些Java编程规约
最新推荐文章于 2023-03-03 17:49:19 发布