動態參數是基本上語法糖用於傳遞參數數組的函數的形式。在內部,動態參數是一個數組。
public Formatter format(String format, Object ... args)
是基本相同
public Formatter format(String format, Object[] args)
除了在前一種情況下,你不必建造手工陣列,編譯器會爲你做它。但仍然可以傳遞一組參數,就好像該方法是用後一種語法編寫的一樣。只需使用數組流
String[] arrayOfString;
Object[] arguments = new Object[arrayOfString.length + 2];
int argIndex = 0;
arguments[argIndex++] = "someString";
for (int i = 0; i < arrayOfString.length; i++) {
arguments[argIndex++] = arrayOfString[i];
}
arguments[argIndex++] = "anotherString";
Formatter formatter = new Formatter();
formatter.format("FormatString", arguments);
「我想以字符串數組中的所有字符串的形式傳遞」你試過了嗎?它是如何去的? – Pshemo
如果array是可能的最後一個參數。但不可能在代碼中提到的東西。 – Dinushan
從我記得它更像是「如果數組只是參數(格式旁邊)」,那麼它是可能的。如果所有元素都是String類型,那麼可以將它們包裝在數組中並傳遞它,如果其中一些元素可以是其他類型的使用Object數組。 – Pshemo