Nullable Integer或具有特殊值的int

时间:2016-04-05 12:26:55

标签: java null field

目前我正在开发一个库,它为用户提供小而易于修改的对象。但是,某些整数字段可以设置为auto / inherit。解决此问题有两种基本解决方案:将特殊含义附加到无效值(例如,0表示宽度/高度字段),或:使用Integer代替int,可以为空。

class SomeProperties {

    // C-style
    int someField = 0;

    // ...

}
class SomeProperties {

    // SQL-style
    Integer someField = null;

    // ...

}

考虑到几个方面,特别是可读性和性能,我应该使用哪个?

1 个答案:

答案 0 :(得分:2)

我会使用Nullable Integer,因为它:

  1. 不缩小范围
  2. 如果你在无效的地方使用它时会引发异常
  3. 这个问题虽然是基于意见的。