Java 8方法引用:提供能够提供参数化结果的供应商
我想用
java.util.Optional.orElseThrow()
用一个Exceptiontypes来请求一个构造函数参数。 像这样的东西:
orElseThrow(MyException::new(someArgument)) // obviously NOT working
有没有办法创build一个供应商,传递我的参数值?
当然。 orElseThrow(() -> new MyException(someArgument))
。
看来你只能从方法orElseThrow
抛出RuntimeException。 否则,你会得到一个错误消息,如MyException cannot be converted to java.lang.RuntimeException
optionalUsers.orElseThrow(() -> new UsernameNotFoundException("Username not found"));