【強制】所有pojo類屬性必須使用包裝資料型別;
【強制】rpc方法的返回值和引數必須使用包裝資料型別;
【推薦】所有區域性變數都推薦使用基礎資料型別。
這裡建議我們使用包裝型別,原因是什麼呢?
舉乙個扣費的例子,我們做乙個扣費系統,扣費時需要從外部的定價系統中讀取乙個費率的值,我們預期該介面的返回值中會包含乙個浮點型的費率字段。當我們取到這個值得時候就使用公式:金額*費率=費用 進行計算,計算結果進行劃扣。
如果由於計費系統異常,他可能會返回個預設值,如果這個欄位是double型別的話,該預設值為null,如果該字段是double型別的話,該預設值為0.0。
如果扣費系統對於該費率返回值沒做特殊處理的話,拿到null值進行計算會直接報錯,阻斷程式。拿到0.0可能就直接進行計算,得出介面為0後進行扣費了。這種異常情況就無法被感知。
這種使用包裝型別定義變數的方式,通過異常來阻斷程式,進而可以被識別到這種線上問題。如果使用基本資料型別的話,系統可能不會報錯,進而認為無異常。
以上,就是建議在pojo和rpc的返回值中使用包裝型別的原因。
基本資料型別 包裝型別 和equals比較
總結 public class typetest return false 同型別包裝類 有效範圍內 賦值比較,equals均true new比較,均false,equals均true 賦值 new比較,均false,equals均true 非有效範圍內 賦值比較,均false,equals均tru...
資料型別 基本資料型別和引用資料型別
一.分類 1,五種簡單資料型別 基本資料型別 number,string,boolean,null,undefined,新增symbol es6 基本資料型別是指存放在棧中的簡單資料段,資料大小確定,記憶體空間大小可以分配,它們是直接按值存放的,所以可以直接按值訪問。1 undefined 宣告的變...
基本資料型別的包裝物件
首先,請給出下列 的輸出 var s hello world string.prototype.typeof function console.log typeof s 1 console.log typeof string s 2 console.log typeof newstring s 3 ...