1. ホーム

[解決済み】Javaで変数引数を持つメソッドに引数として配列を渡すことはできますか?

2022-03-26 05:58:51

質問

のような関数を作れるようにしたいのですが。

class A {
  private String extraVar;
  public String myFormat(String format, Object ... args){
    return String.format(format, extraVar, args);
  }
}

ここで問題となるのは args として扱われます。 Object[] というメソッドで myFormat の単一の引数であり、従って String.format とはいえ、私はすべての Objectargs を新しい引数として渡します。このため String.format も変数引数を持つメソッドなので、これは可能なはずです。

これが不可能な場合、以下のようなメソッドはないでしょうか? String.format(String format, Object[] args) ? その場合 extraVarargs を新しい配列で作成し、そのメソッドに渡します。

どのように解決するのですか?

の基礎となる型は バリアディック メソッド function(Object... args) function(Object[] args) . Sunは後方互換性を保つためにこのような形でvarargsを追加しました。

ということは extraVarargs を呼び出し String.format(format, args) .