java - 狀態(tài)標(biāo)識(shí)(比如0和1),用int好,還是有其他選擇了?
問題描述
狀態(tài)標(biāo)識(shí)(比如0和1),用int好,還是有其他選擇了? 比如short
比如 狀態(tài)有1和0 int flag=1 short flag=1 這兩個(gè)那個(gè)會(huì)好一些了?
問題解答
回答1:如果你只是用來表示狀態(tài)的話, short 和 int 是沒有任何區(qū)別的,不信你可以編譯一下,看看字節(jié)碼。
代碼
int flag = 1;short flag = 1;
和代碼
int flag = 1;int flag = 1;
得到的字節(jié)碼是完全相同的!都會(huì)得到如下字節(jié)碼,
0: iconst_1 1: istore_1 2: iconst_1 3: istore_2回答2:
看你使用場(chǎng)景, 如果用于對(duì)象屬性或者sql的參數(shù),最好用Integer。因?yàn)槟憧赡軟]有初始化,用int會(huì)有默認(rèn)值0(這個(gè)0可能不是你想要的)
回答3:狀態(tài)只有 0 和 1 的話,可以用 boolean(true 或 false) 或者 byte(0 或 1,byte 的范圍在 -128 ~ 127);狀態(tài)如果較多,更推薦用 enum
回答4:這個(gè)boolean和int都可以。沒什么區(qū)別的。
