2014-02-13 65 views

回答

2

是的,你可以這樣做:arr[0] = null;,poof,button1不在從數組

如果你想要數組變小,比如說一個2數組,那麼你需要通過System.arraycopy(originalArray, 1, destinationArray, 0, 2)做一個數組拷貝,將最後兩個項目拷貝到一個兩個項目的數組中。

最好的解決方案:只需使用一個flippin'ArrayList,因爲它就是它的原型。

請注意,您的問題與Swing無關。

1

構建一個數組後,它的大小設置,所以無法刪除button1和數組更改爲{button2, button3},但你可以通過做arr[0] = null第一項設置爲null

1

org.apache.commons.lang使用ArrayUtils.removeElement(Object[],int),它會刪除該數組的索引0元素和規模將decrease by 1

arr =(JButton[])ArrayUtils.removeElement(arr , 0); 
1

你可以做任何你的指數null,但數組的大小將保持不變,那就是如何陣列的工作權利?

一種解決方法是首先你的數組轉換成一個ArrayList,刪除項目,然後再做一個數組 -

List<String> list = new ArrayList<String>(Arrays.asList(array)); 
list.remove(button1); 
array= list.toArray(array);