可変引数: 可変量の引数
一部のメソッドでは、アプリケーションに応じて、可変の数の引数が必要になる場合があります。
例としては、インターネット接続を開き、ユーザー名、パスワード、ファイル名、プロトコルなどのパラメーターを受け取ることができるメソッドがあります。
一部の情報が渡されない場合、メソッドはそれらのパラメータのデフォルトを使用できます。
可変長の引数を持つメソッドでは、必要な引数のみを渡すことができます。
JDK 5 より前は、これらのメソッドはオーバーロードまたは配列を使用して処理されていましたが、これは限定的で不格好なアプローチでした。
JDK 5 以降、可変引数機能が導入され、可変数の引数を持つメソッドの作成が簡単になりました。
ヴァラールグ は「可変長引数」の略です。
可変引数を使用するメソッドは、可変引数メソッド、または単に可変引数メソッドと呼ばれます。
varargs メソッドのパラメータ リストは可変長であるため、可変数の引数を受け取ることができます。
可変引数の基本的な側面
可変長の引数リストは 3 つのドット (...) で指定します。
可変数の引数を受け取るメソッドを作成するには、メソッド宣言で次の 3 つのポイントを使用します。
例として vaTest() メソッドがあり、この機能の実装方法を示します。
v は int ... v
... を含む構文は、vaTest() を 0 個以上の引数で呼び出すことができることをコンパイラーに伝えます。
パラメータ v は、int[] 型の配列として暗黙的に宣言されます。
vaTest() メソッド内では、v は共通の配列構文を使用してアクセスされます。
完全なプログラムでは、vaTest() の使用法をデモンストレーションできます。
vaTest() 内では、パラメーター v は実際には配列であるため、配列として扱われます。
... 構文は、可変数の引数が使用され、配列 v.
main() メソッドでは、vaTest() がさまざまな数の引数 (引数なしの場合も含む) で呼び出されます。
引数がない場合、配列 v のサイズは 0 になります。
メソッドには可変長パラメータとともに共通パラメータを含めることができますが、可変長引数は最後に宣言する必要があります。
許容可能な宣言の例: int doIt(int a, int b, double c, int ... vals).
この場合、最初の引数は共通パラメータに渡され、残りは vals に渡されます。
vaTest() メソッドは、可変引数に加えて共通の引数を取るように書き直すことができます。
varargs パラメータはメソッド パラメータ リストの最後のパラメータである必要があります。
可変引数パラメーターの後に共通パラメーターを宣言することはできません。これによりエラーが発生します。
メソッド内で宣言できる varargs パラメーターは 1 つだけです。
int ... vals の後に double ... morevals を続ける場合のように、同じメソッド内で複数の varargs パラメータを宣言しようとすると、無効であり、エラーが生成されます。
以上がヴァラールグの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。