0

オブジェクトをコレクションに追加できません。

オブジェクトをコレクションに追加しようとすると、java.lang.NullPointerException が発生しました。

以下のコードでわかるように、if 条件を使用して RedemptionEntity である償還が null ではないことをテストして確認しました。「NULL ではない!!!!!!!!」が返されました。

null のものをコレクションに追加しようとすると、java.lang.NullPointerException が発生することを Google で調べました。しかし、この場合、償還は無効ではないと思います。System.out.println(ex.getMessage()); null を返します。

この問題を解決するにはどうすればよいですか? ここで何か助けはありますか?

private Collection<RedemptionEntity> redemptionCollection; 
RedemptionEntity redemption = new RedemptionEntity();
GiftEntity GIFT = em.find(GiftEntity.class, gift);
redemption.create(date, 0);
redemption.setGift(GIFT);
em.persist(redemption);

if (redemption == null) {
                System.out.println("NULL!!!!!!!!");
            } else {
                System.out.println("Not NULL!!!!!!!!");
            }
            try {
                redemptionCollection.add(redemption); //This line is where the exception occurs...
            } catch (Exception ex) {
                System.out.println(ex.getMessage());
                ex.printStackTrace();
            }
4

3 に答える 3

2

コレクションはインターフェースです。初期化には ArrayList または別の List タイプを使用します。

ArrayList<RedemptionEntity> col = new ArrayList<RedemptionEntity> ();

また

Collection<RedemptionEntity> col = new ArrayList<RedemptionEntity> ();
于 2013-10-20T14:31:22.463 に答える
1

コレクションを初期化しましたか?

 private Collection<RedemptionEntity> redemptionCollection = new ArrayList<RedemptionEntity>();

動作します。

于 2013-10-20T14:30:57.160 に答える