首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我应该如何在Java枚举中存储此数据?

我应该如何在Java枚举中存储此数据?
EN

Stack Overflow用户
提问于 2012-03-29 04:13:31
回答 7查看 17.5K关注 0票数 6

在Java枚举中存储此数据的最佳方式是什么?

代码语言:javascript
复制
<select>
    <option></option>
    <option>Recommend eDelivery</option>
    <option>Require eDelivery</option>
    <option>Require eDelivery unless justification provided</option>
</select>

我是java的新手,并且已经尝试过像这样的东西

代码语言:javascript
复制
public enum Paperless { 
      "None" = null,
      "Recommend eDelivery" = "Recommend eDelivery",
      "Require eDelivery" = "Require eDelivery",
      "Require eDelivery unless justification provided" = "Require eDelivery w/out justification"
}

但这不管用。我正在考虑存储一个文本值的可能性,该文本值总结了用户在此网页上看到的选项。

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2012-03-29 04:19:03

看一看the enum tutorial,更具体地说是Planet示例。你也可以这样做,例如:

代码语言:javascript
复制
public enum Paperless{
  NONE( null ),
  RECOMMENDED_DELIVERY( "Recommended delivery" ),
  ...//put here the other values
  REQUIRED_DELIVERY( "Required delivery" );
  private String name;
  Paperless( String name ){
    this.name = name;
  }
  public String getName(){
    return this.name;
  }
}
票数 11
EN

Stack Overflow用户

发布于 2012-03-29 04:20:42

像这样的东西可以用在你的案例中:

代码语言:javascript
复制
public enum PaperLess {
    NONE("none"),
    RECOMMEND("Recommend eDelivery"),
    REQUIRE("Require eDelivery"),
    REQUIRE_JUSTIFIED("Require eDelivery unless justification provided");

    private String value;

    private PaperLess(String value) {
       this.value = value;
    }

    public String getValue() {
       return value;
    }
}
票数 1
EN

Stack Overflow用户

发布于 2012-03-29 04:40:12

在Java中,您不能以您正在尝试的方式将字符串分配给枚举值。

这样做的方法是:

代码语言:javascript
复制
public enum Paperless { 
      None(null), 
      RecommendedDelivery("Recommended Delivery"), 
      RequireEDelivery("Require eDelivery"), 
      RequireEDeliveryUnlessJustification("Require eDelivery unless justification provided");

      private final String value;   

      Paperless(String value) {
        this.value = value;
      }

      private String enumValue() { return value; }

      public static void main(String[] args) {
        for (Paperless p : Paperless.values())
           System.out.println("Enum:" + p + "; Value:" + p.enumValue());
      }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9914959

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档