【发布时间】:2015-11-20 22:34:43
【问题描述】:
我的程序中有 2 个列表;列表之一已经有数据。我需要创建一个新列表并从以前的列表中传递一些数据。
以下是我使用的代码:
List<Class1> result = function();
List<Class2> newList = new ArrayList<Class2>();
for(int i=0; i < result.size(); i++) {
newList.get(i).setValue(result.get(i).getValue());
//setValue() is setter function in Class2
//getValue() is getter function in Class1
}
return newList;
当我尝试运行代码时,我在此特定行中遇到错误:
newList.get(i).setValue(result.get(i).getValue());
错误是:
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
java.util.ArrayList.rangeCheck(ArrayList.java:635)
java.util.ArrayList.get(ArrayList.java:411)
我该如何解决这个问题?需要一些帮助。
【问题讨论】:
-
您刚刚创建了一个空的
newList,其中没有Class2对象。你期望newList.get(0)准确返回什么?
标签: java