3

以下のケースがあります。

public enum TestEnum{

    PUUNITONE("puunitone"),
    PUUNITTWO("puunittwo");

    private String name;

    private TestEnum(String name) {
        this.name = name;
    }


    public String getName() {
        return name;
    }

}

EJB @statelessクラスで

@PersistenceContext(unitName = TestEnum.PUUNITONE.getName())
private EntityManager entityManager;

私は次のものを持っています

Compilation Error: Value must be a constant

今私の質問:

1. Java では enums 定数ですか? はいの場合、ここで何が問題ですか?
2. Enum を定数として使用してこの問題を解決する方法または回避策はありますか?

提案をありがとう

4

1 に答える 1

6
  1. はい、列挙型は定数ですが、定数ではgetName()ありません。コンパイラは、常に同じ結果を返すとは言えません。
  2. いいえ、注釈でリテラルStringまたは aを使用する必要があります。final static Stringそれらだけがコンパイラの定数です。
于 2013-10-31T09:08:35.943 に答える