状态标识(比如0和1),用int好,还是有其他选择了? 比如short
比如 状态有1和0 int flag=1 short flag=1 这两个那个会好一些了?
认证高级PHP讲师
如果你只是用来表示状态的话, short 和 int 是没有任何区别的,不信你可以编译一下,看看字节码。
代码
int flag = 1; short flag = 1;
和代码
int flag = 1; int flag = 1;
得到的字节码是完全相同的!都会得到如下字节码,
0: iconst_1 1: istore_1 2: iconst_1 3: istore_2
看你使用场景, 如果用于对象属性或者sql的参数,最好用Integer。因为你可能没有初始化,用int会有默认值0(这个0可能不是你想要的)
状态只有 0 和 1 的话,可以用 boolean(true 或 false) 或者 byte(0 或 1,byte 的范围在 -128 ~ 127);状态如果较多,更推荐用 enum
boolean
true
false
byte
enum
这个boolean和int都可以。没什么区别的。
如果你只是用来表示状态的话, short 和 int 是没有任何区别的,不信你可以编译一下,看看字节码。
代码
和代码
得到的字节码是完全相同的!都会得到如下字节码,
看你使用场景, 如果用于对象属性或者sql的参数,最好用Integer。因为你可能没有初始化,用int会有默认值0(这个0可能不是你想要的)
状态只有 0 和 1 的话,可以用
boolean
(true
或false
) 或者byte
(0 或 1,byte
的范围在 -128 ~ 127);状态如果较多,更推荐用enum
这个boolean和int都可以。没什么区别的。