JavaのorElseGet()メソッドなどの引数がSupplierである理由がわかりません
Q&A
解決したいこと
そもそもSupplierの存在意義がよくわかりません。必要な場合だけインスタンスを生成するくらいしか用途がないように思えます。
そのうえで、Optional.orElseGet()
やOptional.orElseThrow()
の引数がSupplierである理由がわかりません。直接インスタンスを渡す実装になっていないのはなぜでしょうか。
いくら調べてもどこにも理由が説明されていませんでした。回答はできれば根拠の伴う形でお願い致します。