簡體   English   中英

將枚舉常量值設置為 java 中的 hashmap 鍵

[英]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作為鍵。 您有以下三種選擇:

  • 更改QuestiontoString()以便它打印出"firstQuestion" ,但實際值仍將是QUESTION_FIRST
  • Map更改為Map<String, Integer> ,因此map.put(QUESTION_FIRST.getValue(), 1); 將工作
  • 放棄讓"firstQuestion"成為 map 中的關鍵的願望。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM