如何清除java.lang.IndexOutOfBoundsException?

如何清除java.lang.IndexOutOfBoundsException?,java,android,arrays,Java,Android,Arrays,这就是我得到java.lang.IndexOutOfBoundsException错误的方法。当我调试代码并看到时,我会变成这样 tempkoradel[j]=java.lang.IndexOutOfBoundsException:无效数组范围:5到5 columnTags[j]=java.lang.IndexOutOfBoundsException:无效数组范围:5到5 试试看{ SoapObject请求=新的SoapObject(名称空间,“GetAssignDetails”); SoapS

这就是我得到
java.lang.IndexOutOfBoundsException
错误的方法。当我调试代码并看到时,我会变成这样

tempkoradel[j]=java.lang.IndexOutOfBoundsException:无效数组范围:5到5 columnTags[j]=java.lang.IndexOutOfBoundsException:无效数组范围:5到5

试试看{
SoapObject请求=新的SoapObject(名称空间,“GetAssignDetails”);
SoapSerializationEnvelope=新的SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet=true;
envelope.setOutputSoapObject(请求);
//request.addProperty(“条形码”,参数[0]);
HttpTransportSE androidHttpTransport=新的HttpTransportSE(URL);
试一试{
调用(命名空间+“GetAssignDetails”,信封);
}catch(IOException | XmlPullParserException e){
//TODO自动生成的捕捉块
e、 printStackTrace();
}
原始反应;
字符串Koradcdetailss=null;
试一试{
response=(SoapPrimitive)envelope.getResponse();
Koradcdetailss=response.toString();
if(Koradcdetailss!=null){
String[]columnTags=新字符串[]{“StyleNo”、“Color”、“Size”、“BarcodeNo”、“NoOfPcs”};
int[]columnIds=newint[]{R.id.txt_styleno,R.id.txt_color,R.id.txt_size,R.id.txt_条码号,R.id.txt_pcs};
字符串[]koradcdeldertails=Koradcdetailss.split(“:,”);
如果(Koradcdeldetails.length>0){
列表=新的ArrayList();
对于(int i=0;i
请帮助我清除上述错误。

list=new ArrayList();
 list = new ArrayList<HashMap<String, String>>();
                        for (int i = 0; i < Koradcdeldetails.length; i++) {
                            if (!Koradcdeldetails[i].isEmpty()) {
                                String[] tempkoradel = Koradcdeldetails[i].split(";");
                                HashMap<String, String> map = new HashMap<String, String>();
                                //initialize row data
                                for (int j = 0; j < (tempkoradel.length); j++) {
                                    map.put(columnTags[j], tempkoradel[j]);
                                }

                                list.add(map);
                            }
对于(int i=0;i

如果数组中有3个值,并且尝试访问实际上不存在的第四个元素,则会出现IndexOutOfBoundsException。因此,在处理数组时需要小心。

只需使用length()-1

for (int j = 0; j < (columnTags.length - 1); j++) {
                                map.put(columnTags[j], tempkoradel[j]);
                            }
for(int j=0;j<(columnTags.length-1);j++){
map.put(columnTags[j],tempkoradel[j]);
}

split(“:,”)是您使用的一个位置,split(“;”);是另一个位置。请检查它是否符合您的概念?
String[]Koradcdeldetails=koradcdetails.split(“,”);
for (int j = 0; j < (columnTags.length - 1); j++) {
                                map.put(columnTags[j], tempkoradel[j]);
                            }