在GXT 3.0(valueProvider)中,我有一个空指针异常问题。
我有这个代码片段,

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


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

我在实现过程中的几乎所有地方都使用了ValueProviders,因此我需要找到一个明智的解决方案,以免使我的代码变得冗长。

谢谢你的帮助。

最佳答案

我看到2个解决方案:


您可以在对象上添加一个伪造的getter getZzz(),并使其完全返回要显示的内容:
您可以提供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";
  }
}

10-02 11:20
查看更多