错误提示:
if(peninfojs.size() != 0){
String yuancheng = peninfojs.get(0) == null ? "" : peninfojs.get(0).getvalue();
String shuaka = peninfojs.get(2) == null ? "" : peninfojs.get(0).getvalue();
String moashu = peninfojs.get(4) == null ? "" : peninfojs.get(0).getvalue();
String wx = peninfojs.get(5) == null ? "" : peninfojs.get(0).getvalue();
map.put("yuancheng",yuancheng);
...
}
或者list这样用get取的时候也越界了,反正记不清了。这样写
if(peninfojs.size() != 0){
int size = peninfojs.size();
String yuancheng = 0 >= size ? "" : peninfojs.get(0).getvalue();
String shuaka = 2 >= size ? "" : peninfojs.get(0).getvalue();
String moashu = 4 >= size ? "" : peninfojs.get(0).getvalue();
String wx = 5 >= size ? "" : peninfojs.get(0).getvalue();
map.put("yuancheng",yuancheng);
...
}
我用表达式判断的,用if也行
if (penInfoJs.size() >= 6)
你这个错误是由于你获取的list大小是4,也就是你能访问的位置为【0,1,2,3】,你这里在调用get(4)的时候就数组越界了。
数组越界,是指访问了超出数组定义的内容。
首先你必须确认penInfoJs这个容器大小是多少。
然后才能确认你能访问的区间。
比如说,你penInfoJs.get(5)的时候,你先不要用.getvalue()取值,而是用if(penInfoJs.get(5) == null)判断,
或者,进入判断后,先取出这个list的长度,当你取的下标大于等于长度的时候,就赋值为空
直接换成arraylist