0

我想使用 Wicket 中的 CompoundPropertyModel 来创建用户。

我的用户类如下所示:

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

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

如果我尝试通过用户的复合属性模型访问地址所在的街道,我会得到一个空指针异常,当然:“user.address.street”。所以我必须提前自己实例化“地址”类。有没有更优雅的方式来动态实例化成员字段?

谢谢

4

1 回答 1

3

如果用户必须有地址,您应该在用户的构造函数中创建地址的实例。否则,您可能会在 getAddress() 方法中进行空检查,如果它为空,则创建一个新实例...

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

    return address;
}
于 2012-07-22T11:18:25.500 回答