在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";
}
}