[英]Set Enum constant values as hashmap key in java
我在下面定義了枚舉。 我已經聲明了一個 Hashmap,其密鑰為枚舉。 當我嘗試將枚舉常量值作為 hashmap 中的鍵時,鍵將與“QUESTION_FIRST”一起存儲,而我希望它是“firstQuestion”
@Getter
public enum Question {
QUESTION_FIRST("firstQuestion"),
QUESTION_SECOND("secondQuestion");
private final String value;
Question(String value){
this.value = value;
}
public String getValue(){
return value;
}
}
public void testMethod(){
Map<Question, Integer> map = new HashMap<>();
map.put(QUESTION_FIRST.getValue(), 1);
}
Map<Question, Integer>
只能將QUESTION_FIRST
作為鍵。 您有以下三種選擇:
Question
的toString()
以便它打印出"firstQuestion"
,但實際值仍將是QUESTION_FIRST
Map
更改為Map<String, Integer>
,因此map.put(QUESTION_FIRST.getValue(), 1);
將工作"firstQuestion"
成為 map 中的關鍵的願望。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.