天天看點

阿裡官方Java代碼規範标準解析 - 基本資料類型與包裝資料類型的使用标準關于基本資料類型與包裝資料類型的使用标準正例反例擴充說明參考

關于基本資料類型與包裝資料類型的使用标準

1) 所有的POJO類屬性必須使用包裝資料類型。

 2) RPC方法的傳回值和參數必須使用包裝資料類型。

 3) 所有的局部變量推薦使用基本資料類型。

說明:POJO類屬性沒有初值是提醒使用者在需要使用時,必須自己顯式地進行指派,任何NPE問題,或者入庫檢查,都由使用者來保證。

public class DemoDO {
        String str;
        Integer a;
    }      

正例

資料庫的查詢結果可能是null,因為自動拆箱,用基本資料類型接收有NPE風險

反例

某業務的交易報表上顯示成交總額漲跌情況,即正負x%,x為基本資料類型,調用的HSF服務,調用不成功時,傳回的是預設值,頁面顯示:0%,這是不合理的,應該顯示成中劃線-。是以包裝資料類型的null值,能夠表示額外的資訊,如:遠端調用失敗,異常退出

擴充說明

  • 1)資料庫到應用之間傳遞的是包裝資料類型,即使定義的是基本的。在方法内運算,我推薦也是基本的。手冊推薦的是防禦氏程式設計。使用包裝形式出現的可能npe問題需要調用者處理
  • 2)序列化傳輸以對象形式來傳輸的
  • 3)參數之間校驗規則參考另一條

參考

https://www.zhihu.com/question/264430374/answer/280824636