Как мне добиться установки значения внутри, если еще в одной строке?
String amount = myJSON.optString("cValue") double cValue = (amount != null && !amount.isEmpty()) ? Double.parseDouble(amount) : 0; if (cValue > 0) { mySavings.setCouponValue(cValue); } else { mySavings.setCouponValue(0.0); }
Для полноты
mySavings.setCouponValue(Math.max(0.0, cValue));
Полезно, если вы действительно посвятили себя написанию ужасных "одних строк".В этом случае, избегая введения переменной cValue.
cValue
в качестве альтернативы, если вы используете Java 8 или выше, вы можете сделать так:
mySavings.setCouponValue(Optional.ofNullable(amount).map(cValue -> !cValue.isEmpty() ? Double.parseDouble(cValue):0).orElse(0.0));
Вы можете просто использовать троичный оператор для установки значения, не создавая временную переменную "cValue", просто для сравнения
String amount = myJSON.optString("cValue") mySavings.setCouponValue((amount != null && !amount.isEmpty()) ? Double.parseDouble(amount) : 0.0);
Вы можете кодировать так:
mySavings.setCouponValue((cValue > 0 ? cValue : 0.0));
Далее вы можете использовать assert в своем методе, чтобы избежать, если еще.
assert
Вы можете просто сделать: