ホームページ > Java > &#&チュートリアル > Java でオプションのパラメータを実装するにはどうすればよいですか?

Java でオプションのパラメータを実装するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-12-21 12:01:10
オリジナル
158 人が閲覧しました

How Can I Implement Optional Parameters in Java?

Java のオプションのパラメーター

オプションのパラメーターを使用すると、メソッドは可変数の引数を受け取ることができます。 Java でこの動作を実装するには、いくつかの方法があります。

メソッドのオーバーロード

同じ名前で引数リストが異なる複数のメソッドを作成します。オプションのパラメーターは省略できます。

void foo(String a, Integer b) {
    //...
}

void foo(String a) {
    foo(a, 0); // Default value for b
}

foo("a", 2);
foo("a");
ログイン後にコピー

Varargs

オプションのパラメーターを指定するには、可変長の引数リストを使用します。オプションのパラメーターのタイプは同じである必要があります。

void foo(String a, Integer... b) {
    Integer b1 = b.length > 0 ? b[0] : 0;
    Integer b2 = b.length > 1 ? b[1] : 0;
    //...
}

foo("a");
foo("a", 1, 2);
ログイン後にコピー

Nulls

オプションのパラメーターが null であることを許可します。メソッド本体の null 値を確認します。

void foo(String a, Integer b, Integer c) {
    b = b != null ? b : 0;
    c = c != null ? c : 0;
    //...
}

foo("a", null, 2);
ログイン後にコピー

Optional Class

Java 8 の Optional クラスを使用して、デフォルト値を持つパラメーターを示します。

void foo(String a, Optional<Integer> bOpt) {
    Integer b = bOpt.isPresent() ? bOpt.get() : 0;
    //...
}

foo("a", Optional.of(2));
foo("a", Optional.empty());
ログイン後にコピー

ビルダーパターン

作成オプションのパラメーターの流暢なセッターを備えた別個のビルダー クラス。

class Foo {
    private final String a; 
    private final Integer b;

    Foo(String a, Integer b) {
      this.a = a;
      this.b = b;
    }

    //...
}

class FooBuilder {
  private String a = ""; 
  private Integer b = 0;
  
  FooBuilder setA(String a) {
    this.a = a;
    return this;
  }

  FooBuilder setB(Integer b) {
    this.b = b;
    return this;
  }

  Foo build() {
    return new Foo(a, b);
  }
}

Foo foo = new FooBuilder().setA("a").build();
ログイン後にコピー

マップ

マップを使用して、名前と値のペアでオプションのパラメーターを渡します。

void foo(Map<String, Object> parameters) {
    String a = ""; 
    Integer b = 0;
    if (parameters.containsKey("a")) { 
        a = (String) parameters.get("a");
    }
    if (parameters.containsKey("b")) { 
        b = (Integer) parameters.get("b");
    }
    //...
}

foo(Map.of("a", "a", "b", 2, "d", "value")); 
ログイン後にコピー

これらのアプローチは、特定の要件に合わせて組み合わせることができます。

以上がJava でオプションのパラメータを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート