【发布时间】:2022-01-30 14:42:27
【问题描述】:
我有对象:
static class Truck {
ArrayList<Integer> route = new ArrayList<Integer>();
double weight = 0;
int route_weight = 0;
Truck() {
}
Truck(ArrayList<Integer> route) {
Collections.copy(this.route, route);
}
//getters and setters
}
对象拉入此列表:
static ArrayList<Truck> trucks=new ArrayList<Trucks>();
我正在尝试制作列表的完整副本:
ArrayList<Truck> copy=new ArrayList<>();
copy=cloneList(trucks);
public static ArrayList<Truck> cloneList(ArrayList<Truck> trucksList) {
ArrayList<Truck> clonedList = new ArrayList<Truck>();
for (Truck truck : trucks) {
Truck w=new Truck(truck.getroute());
clonedList.add(w);
}
return clonedList;
}
但我遇到了一个错误:
Exception in thread "main" java.lang.IndexOutOfBoundsException: Source does not fit in dest
getroute 返回:
[0, 9, 11, 1, 15, 3, 0]
【问题讨论】:
标签: java list eclipse arraylist copy