簡體   English   中英

java:枚舉聲明錯誤說錯誤的構造函數

[英]java : Error in Enum Declaration Saying Misplaced Constructors

我可能得到任何類型的結果,所以我這樣定義枚舉

public enum Result 
     {
        1, 2,3, 4,5, 6,7, 8
     }


String resultvalue = calculateResult();

    switch (Result .valueOf(resultvalue ))
          {

          }

但我在Enum宣言本身就說錯誤的建設者。

請有人幫幫我

它們基本上不是枚舉值的有效標識符。 你需要在它們前面添加一個字母或_。 您還需要做出獨特的標識符-目前你已經有了0010的四倍...

一旦你對它進行了整理,剩下的應該沒問題 - 但是如果你有任何問題,請發一個簡短但完整的程序,而不是片段。

0001不是有效的Java標識符。 Java標識符不能以數字開頭。

雖然我不明白你想要實現什么以及為什么你有重復。 類似的東西(可能使用int而不是String)應該可以工作。

public enum Result {
    One( "0001"),
    Two( "0010")
    ...

    private String val;

    private Result(String val) {
        this.val = val;
    }
}

我不確定為什么計算結果會返回一個字符串。 我會在這里返回一個int但是......

String resultvalue = calculateResult();
switch (Integer.parseInt(resultvalue)) {
   case 0b0001:

   case 0b0010:

   case 0b0110:

   case 0b1010:

   case 0b1100:

}

你想要達到的目標是什么? 如果你需要:

  1. 然后解析字符串中的整數
  2. 檢查它是否來自某組值,最后
  3. 切換它的價值,

那你就不需要枚舉了。 只需使用Integer.parseInt()Set.contains()switch

暫無
暫無

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

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