我正在寻找一种方法来制作此操作的通用功能:
SomeObject object = (object != null) ? object : SomeObject.default();
假设SomeObject.default()
返回 SomeObject 的默认实例。
我想我需要一个像这样的界面:
public interface Defaultable {
public /* static */ Defaultable default(); //corrected
}
还有一个像这样的功能:
public Defaultable defaultIfNull(Defaultable someOb){
return (someOb != null) ? someOb : Defaultable.default();
}
除了最后一个函数调用会失败,因为我们想要具体类的静态方法,而不是接口。
有没有解决的办法?