2012-07-24 4 views
28

...とjavaの配列と配列の違い、特に配列リストの違いはわかりません。配列の違いとJavaの3ドット

どちらも無制限として使用できますが、ほとんど使用されません。...

ありがとうございました。

答えて

8
  • arrayは、オブジェクトの固定長のコレクションです。例えばnew int[5];
  • ArrayListは、オブジェクトの可変長コレクションです。例えばnew ArrayList<Integer>();
  • variadic functions...は、パラメータの配列を示すメソッドシグネチャの一部です。例えばpublic void printLines(String... lines)
65

3つのドットはメソッド引数でのみ使用でき、 'varargs'と呼ばれます。つまり、明示的に配列を作成しなくても、配列のパラメータを渡すことができます。

private void method(String[] args) {}method(new String[]{"first", "second"});

private void method(String... args) {}のように呼ばれて、それが可変引数は単なる砂糖いることは注目に値しますmethod("first", "second");

+6

のように呼ばれています。このメソッドは実際には配列の配列をとります。 'method(String ... args)'は 'method(" first "、" second ")'として呼び出すことができますが、 'method(new String [] {" first "、" second "})'。 – yshavit

+0

ドキュメントの次の例も参照してください。http://stackoverflow.com/documentation/java/99/arrays/2981/arrays-as-method-parameter – Jorn