1

在 GXT 3.0 的 valueProvider 中,我遇到了空指针异常问题。我有这个代码片段,

@Path("xxx.yyy")
ValueProvider<User, String> zzz();

我使用这样的 ValueProvider,在这种情况下,如果 xxx 或 yyy 为空,我只是得到空指针异常。在我的实现中, yyy 或 xxx 可以为空,但我希望它为空,只是不显示或显示为空。

我在我的实现中几乎到处都使用这个 ValueProviders,所以我需要找到一个明智的解决方案,以免我的代码过于繁琐。

谢谢你的帮助。

4

1 回答 1

2

我看到 2 个解决方案:

  • 你可以在你的对象上添加一个假的 gettergetZzz()并让它返回你想要显示的内容:
  • 你可以给出ValueProvider的实现。

例子:

ValueProvider<User, String> zzz = new ValueProvider<User, String>() {

  @Override
  public String getValue(User user) {
    if(user.getXxx() == null | user.getXxx().getYyy() == null) {
      return "";
    }
    return object.getXxx().getYyy();
  }

  @Override
  public void setValue(User object, String value) {}

  @Override
  public String getPath() {
    return "xxx.yyy";
  }
}
于 2013-10-10T12:58:35.613 回答