2012-03-21 2 views
1

タイトルはかなりわかりやすいです。ここに私のコードは、これまでのところです:列挙からすべての値を抽出する方法リストに追加する<String>

public List<String> getVoucherStatuses() { 
     List<String> listOfStatuses = new ArrayList<String>(); 

     for (VoucherStatus status : VoucherStatus.values()) { 
      listOfStatuses.add(status.name()); 
     } 
     return listOfStatuses; 
    } 

、ここでは列挙型です:

public enum VoucherStatus { 
     GENERATED, INVALID, ISSUED, REDEEMED, EXPIRED 
    } 

私はnull参照のexpcetionを得続けます。私は間違って何をしていますか?ありがとう

+3

'NullPointerException'を受け取っている行はどれですか? –

+0

どこに例外がありますか? –

+0

'name()'メソッドをどこで定義しますか? –

答えて

0

これを列挙型の静的な初期化子から呼び出す場合は、初期化が完了していない可能性があります。これにより、NPEが得られる可能性があります。

静的にネストされたクラスを使用することを回避する方法があります。

+1

これについて詳しく説明できますか? Enumの静的初期化子の中からこれをどのように呼び出すことができますか? –

+0

@ why-el私の頭の上から外す:enum定数のコンストラクタで。列挙型の他の統計情報の初期化の表現では。 enumの明示的な静的初期化子で。実装されたインタフェースの初期化中。 –

関連する問題