可能重複:
varargs and the '…' argument
Java, 3 dots in parameters什麼是java中的「String ...」?
我看到在我的Android的Java文件這個定義。 它看起來就像String []。他們不一樣嗎? 謝謝。
可能重複:
varargs and the '…' argument
Java, 3 dots in parameters什麼是java中的「String ...」?
我看到在我的Android的Java文件這個定義。 它看起來就像String []。他們不一樣嗎? 謝謝。
它的語法編寫數組的項目作爲參數
例如:
public String first (String... values) {
return values[0];
}
然後就可以調用此方法first("4","2","5","67")
的通過JavaCompiler將創建的數組參數本身。
第一(「4」,「2」,「5」,「67」),並非首先(4,2,5,67) – 2012-03-15 11:07:51
爲真。出於一個原因,我正在考慮整數。 – 2012-03-15 11:10:33
varags
。如果一個方法簽名是method(Param param, String... x)
它將需要一個Param
類型的對象和任意個字符串對象。
有幾個,如果它很酷的事情:
沒什麼特別的。它只是加糖陣列。所以,method(MyObject... o)
與method(MyObject[] o)
相同。
Vararg 必須是參數列表中的最後一個參數。
有這個有趣的事情,讓我咬一次。可以調用method(MyObject... o)
作爲method()
,而不會出現任何編譯錯誤。 Java將在內部將無參數調用轉換爲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
}
與Java 5的
String
介紹的是一個字符串類型。 String[]
是一串字符串。
String ...
是一個名爲省略號的語法糖,在java 1.5中引入,取自C.它可以在方法定義中使用,實際上與只有一個區別的數組相同。 如果方法被定義爲:
public void foo(String[] arg){}
你必須通過數組給它:
foo(new String[] {"a", "b"});
如果方法被定義爲:
public void foo(String arg){}
您可以致電它可以是
foo(new String[] {"a", "b"});
或
foo("a", "b");
http://docs.oracle.com/javase/1.5.0/docs/guide/language/varargs.html – assylias 2012-03-15 10:59:41
和http://計算器。 com/questions/1656901/varargs-and-the-argument – assylias 2012-03-15 11:00:28
...或者在過去5年左右編寫的任何好的Java教科書。 – 2012-03-15 11:01:20