Java 8 中“If/Throw, Else/Return”逻辑的简写?
在Java 8中,是否有更短的语法来if/throw else/return? 提供了一种在一个语句中完成此操作的方法,但它需要为每个具有非空引用的调用创建一个实例。java.util.Optional
Optional
这可以在单个语句中完成吗?
public static MyEnum fromString(String value) {
MyEnum result = enumMap.get(value);
if (result == null)
throw new IllegalArgumentException("Unsupported value: " + value);
return result;
}
可选示例(错误,每次都需要可选实例)
public static MyEnum fromString(String value) {
return Optional.ofNullable(enumMap.get(value)).orElseThrow(
() -> new IllegalArgumentException("Unsupported value: " + value));
}