blo*_*824 6 java nested reference object
引用嵌套对象的最佳做法是什么?
说我有以下内容:
class Outer {
private InnerA innerA;
//getters and setters
}
class InnerA {
private InnerB innerB;
//getters and setters
}
class InnerB {
private String someString;
//getters and setters
}
Run Code Online (Sandbox Code Playgroud)
在我的控制器或服务类中,我需要检查InnerB类的someString String变量,以确保它不为null或不为空,所以我这样做:
if (getOuter().getInnerA().getInnerB().getSomeString() != null && !getOuter().getInnerA().getInnerB().getSomeString().equalsIgnoreCase("") {
//do something
}
Run Code Online (Sandbox Code Playgroud)
对我来说,这看起来很乱,如果嵌套对象本身为null,则可能会出现问题.
我是否在父对象中为子对象检查null创建getter和setter?只是想知道最佳实践是什么,如果有什么和/或你的一些人在你的代码中做了什么?
您可以使用Apache Commons BeanUtils来浏览嵌套属性,如下所示:
将方法添加getSomeString()到您的Outer类并编写类似的东西
PropertyUtils.getNestedProperty(this, "innerA.innerB.someString");
我不记得PropertyUtils该类是否检查null属性,但我会看看Apache Commons BeanUtils站点.
希望这可以帮助!