有一種更好的方法(最好是在SDK),這將取N String對象的現有陣列和追加另一個字符串,以使陣列現在有N + 1字符串對象?看下面我是如何做到的。追加字符串到本地Java陣列
import java.util.Arrays;
public class StringArrayAppend {
/**
* @param args
*/
public static void main(String[] args) {
String[] selectionArgs={"3","2"};
//Is there a SDK method to Arrays.append(selectionArgs,"1");?
int newSize=selectionArgs.length+1;
int indexNewElem=selectionArgs.length;
String[] selectionArgs2=new String[newSize];
System.arraycopy(selectionArgs, 0, selectionArgs2, 0, selectionArgs.length);
selectionArgs2[indexNewElem]="1";
selectionArgs=selectionArgs2;
selectionArgs2=null;
System.out.println("selectionArgs="+Arrays.toString(selectionArgs));
}
}
啊這是我正在尋找。我之前用asList(...)嘗試過,但無法弄清楚如何獲得鑄造錯誤。謝謝! – bloodpresage 2014-11-25 04:48:27
但是請注意,這實際上是你的數組的三個副本(而OP代碼只有一個):在ArrayList構造函數中,第二個添加時(因爲容量需要擴展),第三個時候調用toArray。 – Thilo 2014-11-25 05:09:53