我想用一下
java.util.Optional.orElseThrow()
使用Exception类型请求构造函数形参。就像这样:
.orElseThrow(MyException::new(someArgument)) // obviously NOT working
是否有一种方法可以创建一个传递参数值的Supplier ?
我想用一下
java.util.Optional.orElseThrow()
使用Exception类型请求构造函数形参。就像这样:
.orElseThrow(MyException::new(someArgument)) // obviously NOT working
是否有一种方法可以创建一个传递参数值的Supplier ?
当前回答
确定。
.orElseThrow(() -> new MyException(someArgument))
其他回答
似乎您只能从方法orElseThrow抛出RuntimeException。否则,您将得到一个错误消息,如MyException不能转换为java.lang.RuntimeException
更新:-这是一个旧版本的JDK的问题。我认为最新版本没有这个问题。
确定。
.orElseThrow(() -> new MyException(someArgument))
optionalUsers.orElseThrow(() -> new UsernameNotFoundException("Username not found"));