可能性の重複:
varargs and the '…' argument
Java, 3 dots in parametersjavaでは "String ..."とは何ですか?
私は私のAndroidのJavaファイルにこの定義を見ました。 これはString []と似ています。彼らは違いますか? ありがとうございます。
可能性の重複:
varargs and the '…' argument
Java, 3 dots in parametersjavaでは "String ..."とは何ですか?
私は私のAndroidのJavaファイルにこの定義を見ました。 これはString []と似ています。彼らは違いますか? ありがとうございます。
それは、例えば、パラメータ
として、配列の項目を記述するための構文です:
public String first (String... values) {
return values[0];
}
その後、あなたはjavacompilerはの配列を作成しますfirst("4","2","5","67")
でこのメソッドを呼び出すことができますパラメータはそれ自身で設定します。
最初( "4"、 "2"、 "5"、 "67")、最初ではありません(4,2,5,67) –
true。一つの理由から、私は整数について考えていました。 –
varags
。メソッドシグネチャがmethod(Param param, String... x)
の場合は、オブジェクトタイプがParam
、、いずれも個のStringオブジェクトが必要です。
カップルはそれについてのクールなもの場合があります。
それは特別な何もありません。それは単なる甘い配列です。したがって、method(MyObject... o)
はmethod(MyObject[] o)
と同じです。
Vararg は、の引数リストの最後のパラメータである必要があります。
私に一度噛み砕くこの面白いことがあります。 method(MyObject... o)
は、コンパイルエラーなしでmethod()
と呼び出すことができます。 Javaは内部的にno-arg呼び出しをmethod(new MyObject[0])
に変換します。だから、これに気をつけてください。
variable number of argumentsでメソッドを定義します。
可変長の引数です。メソッド本体ではString []として扱いますが、メソッドを呼び出すときにString []を指定するか、単に値を列挙することができます。
void foo(String... blah) { }
void bar() {
String[] a = { "hello", "world" };
foo(a); // call with String[]
foo("hello", "world"); // or simply enumerate items
}
は
String
は、文字列型であるJavaの5で導入されました。 String[]
は文字列の配列です。
String ...
は、Java 1.5で導入されたCから抜粋された省略形の構文砂糖です。メソッド定義で使用でき、実際には1つの違いだけの配列と同じです。 方法は次のように定義されている場合:
public void foo(String[] arg){}
あなたがそれに配列を渡す必要があります。
public void foo(String arg){}
あなたが呼び出すことができます。
foo(new String[] {"a", "b"});
方法は、以下のように定義されている場合どちらか
foo(new String[] {"a", "b"});
または
foo("a", "b");
http://docs.oracle.com/javase/1.5.0/docs/guide/language/varargs.html – assylias
て、http://のstackoverflow。 com/questions/1656901/varargs-and-the-argument – assylias
...または過去5年ほど前に書かれた良いJava教科書。 –