2016-05-12 113 views
0

首先,我將數據存儲在基於我的索引(當前位置)的ArrayList.Now中我想用新數據替換該數據,但是我得到的是舊數據,舊數據,舊數據,true,true ,新數據,新數據....爲什麼我沒有得到array.set的正確輸出?

任何建議

ArrayList<String> arr = new ArrayList<String>(); 

    if (arr.isEmpty()) { 
     for(int i = 0;i<=mcq.size();i++) { 
      arr.add(s); 

     } 


    } else { 

     arr.set(currentPosition, String.valueOf(arr.add(s))); 



    } 

「S」是我從別的地方得到一個字符串值。

+1

什麼是你真正想實現 - 看看列表文件:https://docs.oracle.com/javase/7/docs/api/java/util/ List.html集正在替換元素,添加在最後添加,現在你在末端添加一些東西,然後用'true'替換當前位置,這是結果添加 –

+0

probalby你的意思是arr.set(currentPosition,或多個); –

+0

是的,我必須用「s」替換arr.add(s)... –

回答

1

這看起來很奇怪:

arr.set(currentPosition, String.valueOf(arr.add(s))); 

ArrayList.set改變存儲在currentPosition的元素。您希望它將其更改爲arr.add返回的字符串值。

ArrayList.add返回一個布爾值,所以你得到你的true值。

我想你想要做的arr.set(currentPosition, s);

+0

謝謝........ @ RvdK –

相關問題