2009-03-18 15 views
2

私はこれまでの例を見てきましたが、それを扱う良い参考資料は実際に見つかりませんでした。私はそれが複数のパラメータをJavaの単一パラメータとして渡す

public void aMethod(int...a) 

ような方法を定義することにより、例えばいくつかのパラメータ、int型に渡すことが可能です知っているが、私はそれよりも、それについての詳細を知りません。私は例を見て、渡されたintの平均を返しました。
これは時代遅れのパラメータを渡す方法ですか?これを使うのも受け入れられますか?これを行うときのような構文は何ですか? (一部の参考資料は素晴らしいでしょう)

答えて

12

これはvarargs(Cの構文から)と呼ばれています。概要はSun's varargs guide、使用方法はJDC Tech Tipを参照してください。それは時代遅れではありません。以前はあなたがCのprintfのようなものをサポートするためには本当に醜い配列やリストを作成しなければならなかったので、それは機能要求として入れられました。それはいいだろう

public void aMethod(ArrayList<int> list) 

public void aMethod(int[] list) 

またはこの:

public void myMethod(String... args) { 
    for (String aString:args) { 
     System.out.println(aString); 
    } 
} 
+1

いつ使用するかに関して、varargsにはパフォーマンス上のペナルティがあります。あなたが本当にそれを使用する必要があるときにのみそれを使用してください。私は 'man、私は実際にここでvarargsを使うことができた'と思ったJavaの貴重な小さな問題に遭遇しました(printfだけが思い浮かぶ) – wds

-1

あなたは、これを実行するための方法intsのリストを渡すためには、このような何かを行っていますJavaにC#のparamsキーワードのようなものがあったとしてもそれはありません。

+0

"varargs"表記の全体的なポイントは、明示的配列またはリスト。 –

+0

私はJavaの人ではないので、これは存在しないと思っていませんでした!知っておいてよかった! –

+0

-1:Java 5以降ではこれは間違っています。 –

関連する問題