-1
目前我正在開發一個庫,它爲用戶提供了小而易於修改的對象。但是,某些整數字段可以設置爲auto
/inherit
。有兩個基本解決方案可以解決此問題:將特殊含義附加到無效值(例如,寬度/高度字段爲0
),或者:使用Integer
而不是int
,該值可以爲null。可爲空的整數或帶有特殊值的整數
class SomeProperties {
// C-style
int someField = 0;
// ...
}
class SomeProperties {
// SQL-style
Integer someField = null;
// ...
}
我應該使用哪種,要考慮到幾個方面,特別是可讀性和性能?
另一種選擇:使用'可選'。 –
@AndyTurner:這就是'Integer'已經帶來的更多開銷(關於OP的具體用例)。 –
@ T.J.Crowder除了你不會意外地將它用在你期望得到一個非空Integer的地方。 –