Guava提供了一种方法来获取默认值,如果传递的对象引用是
null
,则返回该默认值。我正在寻找类似于<T> T nullToDefault(T obj, T default)
的东西,其中default在obj为null
时返回。
在stackoverflow上我没有找到任何关于它的信息。如果有的话,我只是寻找一个纯Guava解决方案!
我在Gauva 10 API中没有找到任何东西,只有com.google.common.base.Objects
看起来很有前途,但缺少类似的东西。
Optional
实例的空安全操作吗?我猜不行,因为它都绑定在T的类型上了。我们得等待Java 8+中的Elvis运算符。 - ChrissPet pet = Optional.fromNullable(cat).or(Optional.fromNullable(dog)).orNull()
这样的代码,其中Cat
和Dog
都继承自Pet
。看起来你需要先将第一个Optional强制转换为Pet
类型,然后就可以从那里顺利进行了。 - Ray