数组在线程“awteventque0”java中出现异常。lang.ArrayIndexOutofBounds异常:2
我在一个Java应用程序中工作,我不断地得到标题中的错误,我不知道为什么
这里是我的代码:
public static Object[] DataProcessinglcld(String in, String par){
Object[] ret = new Object[2];
if (in.contains("string" + par)){
ret[0] = par;
ret[1] = 0;
return ret;
}
else{
ret[0] = in;
ret[1] = 1;
return ret;
}
}
Object[] xlib = DataProcessinglcld(in[bit], "xlib.v"); // error line
//System.arraycopy(DataProcessinglcld(in[bit], "xlib.v"), 0, xlib, 0, 2);
bit++;
ret[4] = xlib[0];
ret[5] = xlib[1];
if ( (int) xlib[1] == 1) {
return FillWithZ(6,ret);
}
我知道提到的错误与试图访问数组的错误索引有关,但据我所知,我试图将长度为2的数组分配给另一个相同大小的数组。 请注意,如果我只是使用问题行下方注释中的函数将结果从DataProcessinglcld(以[bit],“xlib.v”)复制到一个数组,则会得到相同的错误
# 1 楼答案
在这里,您希望访问位置4和5,除非您已将“ret[x]”声明为全局数组,否则您将无法访问它,因为它是在一个方法中声明的
无论如何,您可以用两个对象声明它: