如果 getter 返回 null 值,Java 中是否有更简单的方法来创建对象?
例如,在 RoR 中,如果我没记错的话,可能会出现以下情况:
Obj myObj = getObjFromSomewhere() || new Obj();
这会将 myObj 设置为函数返回的对象,如果该对象为空,则设置新的 Obj。
在 Java 中,我发现的最简单的方法是:
Obj myObj = (getObjFromSomewhere() != null ? getObjFromSomewhere() : new Obj());
或者
Obj myObj = getObjFromSomewhere();
if(myObj == null) {
myObj = new Obj()
}
两者都不太理想,第一个是因为它需要方法调用,这在处理数据库时很糟糕,第二个是因为它笨重。