一些Java編程規約

  1. 使用java.util.Objects類中的方法進行對象間操作,如equals。這樣可以避免空引用的異常。
  2. Integer i=... 在128~-127之間的值來自於cache。這一範圍是可更改的。然而Long類型的這一範圍是不可更改的!
  3. 所有POJO類屬性和RPC方法調用參數及返回值使用包裝類,局部變量使用基本類型。包裝類的null值表示了額外的信息。
  4. Object.clone()是淺拷貝,需要自己重寫。
  5. 只要重寫equals方法就必須重寫hashCode方法。
  6. Map類返回的keySet和Collection返回的一些list都是immutable的,試圖添加元素會跑異常。
  7. 集合轉數組,使用toArray的帶參方法並保證入參的大小正好。
  8. Arrays.asList返回的是視圖,不可新增或刪除。
  9. 無泛型限制的集合賦值給泛型集合時要用instance of判斷,否則後面會有class cast 異常
  10. 使用entrySet或者Map.foreach遍歷元素,而不是使用keySet。後者實際上遍歷了兩次。
  11. 高度注意使用的Map類是否能存儲null
  12. 使用Set的特性對集合元素進行去重。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章