Java 8 の Optional を引数で使用する必要がある理由
ガイドラインでは、Optional を戻り値の型に限定する必要があると示唆していますが、なぜなのかという疑問が生じます。また、メソッドの引数にも適していない可能性があります。
アプローチオプションの引数へ
2 つのオプションのパラメータを持つメソッドを検討します:
public int calculateSomething(Optional<String> p1, Optional<BigDecimal> p2) { // Implementation logic }
代替オプションには次のものがあります:
public int calculateSomething(String p1, BigDecimal p2) { // Null checks added in implementation }
または:
public int calculateSomething() { // Default implementation with null parameters } public int calculateSomething(String p1) { // Implementation with one parameter } public int calculateSomething(BigDecimal p2) { // Implementation with one parameter } public int calculateSomething(String p1, BigDecimal p2) { // Full implementation }
オプションの使用に対する反対意見引数
次の理由から、オプションの引数の使用に反対する人もいます。
オプションの引数を使用する利点
ただし、オプションの引数を使用する利点もあります。
結論
最終的に、Optional 引数を使用するかどうかの決定は、開発チームの特定のコンテキストと好みによって決まります。ガイドラインでは、戻り値の型にのみ Optional を使用することを推奨していますが、セマンティックな明確さと統一された処理が必要な特定のシナリオでは、メソッド引数に対して実用的かつ効果的な選択肢となる可能性があります。アプローチを決定する前に、メリットとデメリットを慎重に検討することが重要です。
以上がJava 8 の Optional をメソッドの引数に使用する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。