Строковое значение для установки Enum - PullRequest
1 голос
/ 31 мая 2011

Я хотел бы установить тип перечисления, используя одно из его значений в качестве ввода:

Это код, который я использую,

    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 Ответ

1 голос
/ 31 мая 2011

Попробуйте это:

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