只是向Oracle Java源开发人员提供一些想法:-)
该解决方案已经存在于.Net中,并且更具可读性!
在Visual Basic .Net中
Drawable drawable
= If(Common.getDrawableFromUrl(this, product.getMapPath())
,getRandomDrawable()
)
在C#中
Drawable drawable
= Common.getDrawableFromUrl(this, product.getMapPath()
?? getRandomDrawable();
这些解决方案功能强大,可作为可选Java解决方案(仅当原始值为null时才评估默认字符串)而无需使用lambda表达式,而只是添加了一个新运算符。
为了快速了解与Java解决方案的区别,我添加了2个Java解决方案
在Java中使用Optional
Drawable drawable =
Optional.ofNullable(Common.getDrawableFromUrl(this, product.getMapPath()))
.orElseGet(() -> getRandomDrawable());
在Java中使用{}
Drawable drawable = Common.getDrawableFromUrl(this, product.getMapPath());
if (drawable != null)
{
drawable = getRandomDrawable();
}
就个人而言,我喜欢VB.Net但我更喜欢?? C#或if {}解决方案在Java中......你呢?