先說結論:以我們定義枚舉的數據類型保存了
-
Java 枚舉是一個特殊的類,一般表示一組常量.例如一周的七天,一年的12個月.
大多數用戶一個字段的好多種類型,比如用戶的在線,下線,匹配中,游戲中 等等的狀態. -
枚舉的一些操作
enum color {
紅色, 綠色, 灰色
}
static class user {
String name;
color hairColor;
}
public static void main(String[] args) {
color[] values = color.values();
for (int i = 0; i < values.length; i++) {
System.out.println(values[i]);
}
color a = color.灰色;
System.out.println(color.灰色);
user user = new user();
user.setHairColor(color.灰色);
user.setName("小櫻");
System.out.println(user.toString());
}
以上代碼輸出:
紅色 綠色 灰色 灰色 user{name='小櫻', hairColor=灰色}
- 關於枚舉的一些問題
包含枚舉的對象存入數據庫的時候是以什么類型存儲的?
在數據庫創建用戶表,hairColor 字段類型為 int 類型:

插入時數據庫報錯:
SQL: insert into user (name,hairColor)values (?,?)
Cause: java.sql.SQLException: Incorrect integer value: '灰色' for column 'hairColor' at row 1
將字段改為字符串類型:

后添加成功:

結論:雖然傳入數據庫的時候是枚舉,但是還是以我們定義枚舉的數據類型保存了
