0

ユーザーの作成に Wicket の CompoundPropertyModel を使用したいと思います。

私のユーザークラスは次のようになります。

    public class User {
      private String username;
      ...
      private Address address;
      ...
     }

    public class Address{
      private String street;
      ...
     }

ユーザーの複合プロパティ モデルを介して住所の通りにアクセスしようとすると、もちろん "user.address.street" という nullpointerexception が発生します。そのため、事前にクラス「Address」を自分でインスタンス化する必要があります。メンバー フィールドを動的にインスタンス化するよりエレガントな方法はありますか?

ありがとう

4

1 に答える 1

3

User に Address が必要な場合は、User のコンストラクターで Address のインスタンスを作成する必要があります。それ以外の場合は、getAddress() メソッドで null チェックを実行し、null の場合は新しいインスタンスを作成する可能性があります...

public Address getAddress() {
    if (address == null) {
        address = new Address();
    }

    return address;
}
于 2012-07-22T11:18:25.500 に答える