Просто для того, чтобы дать несколько идей разработчику исходного кода Java: -)
Решение уже существует в .Net и более читабельно!
В Visual Basic .Net
Drawable drawable
= If(Common.getDrawableFromUrl(this, product.getMapPath())
,getRandomDrawable()
)
In C #
Drawable drawable
= Common.getDrawableFromUrl(this, product.getMapPath()
?? getRandomDrawable();
Эти решения являются мощными как дополнительное решение Java (строка по умолчанию оценивается, только если исходное значение равно нулю) без использования лямбда-выражения, просто при добавлении нового оператора.
Чтобы быстро увидеть разницу с решением Java, я добавил 2 решения Java
Использование Необязательного в Java
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 ... а вы?