作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想通过字符串获取属性,例如:
PropertyUtils.getNestedProperty(object, propertyName);
例如,我有 Person 对象,我想获取父亲的名字...
PropertyUtils.getNestedProperty(person, "father.firstName");
现在也许这个人没有父亲,所以该对象为空,我得到一个 org.apache.commons.beanutils.NestedNullException。
是否可以捕获此异常(因为它是运行时异常),或者我应该首先找出父亲是否为空?或者还有其他解决方法吗?
最佳答案
如果您希望在嵌套属性为 null 时返回 null
而不是 NestedNullException
,则可以创建自己的静态方法来包装 PropertyUtils.getNestedProperty
并捕获 NestedNullException
以返回 null
:
public static Object getNestedPropertyIfExists(Object bean, String name) {
try {
return PropertyUtils.getNestedProperty(bean, name);
} catch (NestedNullException e) {
// Do nothing
}
return null;
}
关于java - 如何处理NestedNullException(扩展RuntimeException),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38142397/
我是一名优秀的程序员,十分优秀!