【发布时间】:2021-06-29 08:53:46
【问题描述】:
我有一个具有 3 个属性的对象,其中只有一个不能为空。我想用不为空的参数调用方法,但如果可能的话,没有大的if else 语句。
我想过这样的事情,但它不起作用。
myMethode(myObj.getAttr1() || myObj.getAttr2() || myObj.getAttr3());
什么是好的解决方案?
【问题讨论】:
-
如果您的对象的属性是如此相互关联,以至于它们中的一个且只有一个在任何时候都是非空的(一个不变的条件),那么您应该考虑添加一个
getTheNonNullAttribute()方法来您的对象(当然,适当命名)。 -
@k314159 我不能这样做,因为这些类是用 JAXB 生成的
标签: java