1
我用最後一個插入的元素覆蓋我的ArrayList中的所有元素。如果我在第一個元素中插入數字1,2,3,4,5,6的數組,然後將7,8,9,10,11,12插入到第二個元素中,則最終將覆蓋第一個元素來自第二個元素的值。我最終列出了一個包含7,8,9,10,11,12的列表。我看了一些其他答案,從我收集的內容來看,這與引用被添加而不是值有關,但我已經嘗試了很多不成功的事情。我只是在用盡了我的選擇後才嘗試發佈問題。任何幫助將不勝感激,並提前感謝。通過每次迭代覆蓋ArrayList的所有元素
這是我的應用程序的相關部分,我有問題。
private View.OnClickListener submitListener = new View.OnClickListener() {
ArrayList<int[]> tempArrayList = new ArrayList<int[]>();
int[] ticketArray = new int[6];
int counter = 0;
int tempCounter = 0;
PowerballPoolManagerApplication app = new PowerballPoolManagerApplication();
@Override
public void onClick(View view) {
for (EditText editText : editTextList) {
if (!editText.getText().toString().matches("")) {
int currentNumber = Integer.parseInt(editText.getText().toString());
ticketArray[tempCounter] = Integer.parseInt(editText.getText().toString());
counter++;
tempCounter++;
if (counter > 0 && counter % 6 == 0) {
tempArrayList.add(ticketArray);
tempCounter = 0;
}
這很有道理,我會試試看。我想我很困惑,因爲當我在調試器中檢查這些值時,我在每次添加之前都會在ticketArray中獲取唯一值。 –
感謝izuruel,在添加它之前克隆了數組。我也應該在調試器中更接近我的數組列表,因爲我也意識到每個元素的內存地址是相同的。 –
@MichaelBrooks很高興,這幫助你了! –