2016-05-12 109 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 –

相关问题