從資料庫查詢得到的列舉資料列,int轉成對應的列舉欄位
阿新 • • 發佈:2019-02-12
列舉型別
public enum Emotion{
未分析,正面,中立,負面
}
這裡使用的是MiniDao
@MiniDao("emotionMiniDao")
public interface EmotionMiniDao {
@Sql("SELECT CONCAT(emotion) `name`,COUNT(*) ` value` FROM table_name GROUP BY emotion")
List<Map<String, String>> test();
}
注:CONCAT(emotion) sql語句把int 型別轉換成varchar型別 不然會報java.lang.Integer cannot be cast to java.lang.String
for (Map<String, String> map : list) { //list是返回的MiniDao返回的List<Map<String, String>>
for (String key : map.keySet()) {
if (key.equals("name")) {
int value = Integer.parseInt(map.get(key).toString());
String data = Emotion.values()[value].toString();
map.put(key, data);
}
}
}