使用 commons-beanutils 访问嵌套 bean 时,有什么方法可以防止 NPE?
这是我的代码:
new BeanUtilsBean().getProperty(human, "parent.name");
在这种情况下,我希望
getProperty()
在 human.getParent() == null
时返回空字符串 ("") 或以不同于抛出 NPE 的方式处理它。 最佳答案
他们正在考虑 JDK7 的 adding 语言特性,但是 ultimately they weren't added
现在你必须手动检查。你可以破解它并创建一个函数
public static void propertyHack(Object bean, String property, String nullreplace){
try{
return new BeanUtilsBean().getProperty(bean, property);
}
catch(NullPointerException npe){
return nullreplace;
}
}
有点糟糕,但它会起作用。
关于java - 如何在访问 bean 的嵌套/索引属性时防止 NPE,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2753218/