使いたいです
java.util.Optional.orElseThrow()
コンストラクターパラメーターを要求する例外タイプを使用します。このようなもの:
.orElseThrow(MyException::new(someArgument)) // obviously NOT working
引数の値を渡す Supplier を作成する方法はありますか?
使いたいです
java.util.Optional.orElseThrow()
コンストラクターパラメーターを要求する例外タイプを使用します。このようなもの:
.orElseThrow(MyException::new(someArgument)) // obviously NOT working
引数の値を渡す Supplier を作成する方法はありますか?
もちろん。
.orElseThrow(() -> new MyException(someArgument))
メソッドから RuntimeException のみをスローできるようですorElseThrow
。そうしないと、次のようなエラー メッセージが表示されます。 MyException cannot be converted to java.lang.RuntimeException
更新:- これは古いバージョンの JDK の問題でした。最新バージョンではこの問題は見られません。