Java 在一行中 if else 循环后设置值
Java set values after if else loop in one line
如何在一行中设置 if else 中的值?
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((cValue > 0 ? cValue : 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
来避免 if else。
作为替代方案,如果您使用的是 Java 8 或更高版本,您可以这样做:
mySavings.setCouponValue(Optional.ofNullable(amount).map(cValue -> !cValue.isEmpty() ? Double.parseDouble(cValue):0).orElse(0.0));
完整性
mySavings.setCouponValue(Math.max(0.0, cValue));
如果你真的致力于写恐怖的东西,这很有用 "one liners"。在这种情况下,避免引入 cValue
变量。
如何在一行中设置 if else 中的值?
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((cValue > 0 ? cValue : 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
来避免 if else。
作为替代方案,如果您使用的是 Java 8 或更高版本,您可以这样做:
mySavings.setCouponValue(Optional.ofNullable(amount).map(cValue -> !cValue.isEmpty() ? Double.parseDouble(cValue):0).orElse(0.0));
完整性
mySavings.setCouponValue(Math.max(0.0, cValue));
如果你真的致力于写恐怖的东西,这很有用 "one liners"。在这种情况下,避免引入 cValue
变量。