Iterator<Object> itr=list.iterator();
while(itr.hasNext()){
Object []obj=(Object[]) itr.next();------------------//line1
JSONObject jo = new JSONObject();
jo.put("routeNo", (int)obj[6]);
jo.put("routeName", obj[5].toString());
jo.put("stopSequenceID", (int)obj[4]);
jo.put("stopID", (int)obj[3]);
jo.put("stopName",obj[2].toString());
jo.put("lat", (double)obj[1]);
jo.put("lon", (double)obj[0]);
}
java.lang.ClassCastException: java.lang.Double cannot be cast to [Ljava.lang.Object;---------------------at line(1)
我正在将列表转换为Object []。
由于'list'对象包含750条记录。 我将字段放在'jo'对象上。每条记录包含这7个字段。
请帮帮我。 提前致谢
答案 0 :(得分:1)
itr.next();
在您的案例中返回Object
。你为什么要把它投到Object []
?
你可能打算做那样的事情:
Iterator<Double> itr=list.iterator();
ArrayList<Double> items = new ArrayList<>();
while(itr.hasNext()) {
items.add(itr.next());
}
请注意,定义JSONObject jo
不应位于while
循环内。
答案 1 :(得分:0)
您可以使用List<Double>
Object[]
转换为toArray
List<Double> list=new ArrayList<>();
list.add(10.0);
list.add(10.0);
list.add(10.0);
Object[] obj=list.toArray();