2016-09-04 52 views
-1
public void addTransaction(Transaction t){ 
    mSize++; 
    Transaction[] temp = new Transaction[mSize]; 
    System.arraycopy(mTransactions, 0, temp, 0, mSize - 1); 
    temp[-1] = t // ERROR HERE 
    mTransactions = temp; 
} 

temp[-1]應更換溫度的最後一個元素,裏面是空的,與傳入的參數T,而是錯誤。Java的ArrayIndexOutOfBoundsException異常,我不知道爲什麼還是做什麼

只要temp的大小大於1,這個異常不應該發生的權利?它所要做的就是修改最後一個元素。

+1

剛剛接觸某種語言並不是沒有熟悉基礎知識的藉口。 –

+1

.....或尋找類似的問題。 –

+0

這不是真的重複。代碼是正確的,正如OP對AIOOBE的理解一樣,除了一個小小的錯字或誤解之外。 – shmosel

回答

3

-1是無效的數組索引。如果您嘗試設置最後一個元素,它應該是

temp[temp.length-1] = t; 
+1

我在Python中有一點背景,因此[-1]。謝謝你的幫助。 – MGStone

相關問題