String用于设置枚举的值

时间:2011-05-30 21:55:31

标签: java enums model value-of

我想通过使用其中一个值作为输入来设置枚举类型:

这是我正在使用的代码,

    package models;

    import models.crudsiena.SienaSupport;
    import siena.*;

    public class Item extends SienaSupport {

        @Id
        public Long id;


           public static enum Type{
              A,
              B
            };

            public Type itemType;

            public Item(String itemType) {
               this.itemType = Type.valueOf(itemType);
            }
}

当我尝试使用new Item("A")时,它会返回NullPointerException occured : Name is null

1 个答案:

答案 0 :(得分:1)

试试这个:

public Item(String itemType) {
   if (itemType == null) {
       throw new IllegalArgumentException("null itemType");
   }
   this.itemType = Type.valueOf(itemType);
}