2017-02-20 79 views
0

所以我有這種方法,其中我試圖添加「theElement」到elementArray.length,以便elementArray的大小是6,而不是5。 。如何在Java中添加一個元素和Int

public boolean addingElement(E theElement) { 
E [] elementArray = new elementArray[5]; 
    if (elementArray.length != 0) { 
     elementArray[ //add theElement and 5 here ]; 
     System.out.println(elementArray.length); 
    } 
return true; 
} 

我試過去做元素+ elementArray.length,但是我意識到由於不匹配而不工作。我該怎麼做呢?

+0

如果你要調整你的陣列,考慮'Arrays.copyOf(原件,newLength)' –

+0

你能不能給一個元素的一個例子,什麼應該發生的數組你想要什麼結果? –

+0

這個元素是一個隨機數,但是我想在使用Arrays.copyOf(original,newLength)之後將「元素的大小」添加到我的*新分配的數組的大小。 – EyeOfTheOwl

回答

1

在java中,數組在構造時的大小是固定的。所以你不能將第6個元素添加到5元素數組中。

您必須將這些元素複製到一個新的數組中。要麼使用Arrays.copyOf,或:

oldArray; //contains 5 objects, say ints 

int [] newArray = new int[oldArray.length*2]; //double the size of oldArray 

for (int i = 0; i < oldArray.length; i++) { 
    newArray[i] = oldArray[i]; 
    } 
+0

對,完全忘了陣列是一個固定的大小!好吧,那麼在我這樣做之後,我會如何添加元素和數組的大小來創建6? – EyeOfTheOwl

+0

@EyeOfTheOwl只需在David的代碼後添加元素,就像這樣'newArray [oldArray.length] = theElement;' – Rafael

相關問題