我在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”中)的结果复制到数组中,我会得到相同的错误。
答案 0 :(得分:0)
在这里,您要访问位置4和5,除非您已声明' ret [x]'作为全局数组,您无法访问它,因为它是在方法中声明的。
ret[4] = xlib[0];
ret[5] = xlib[1];
无论如何,你用2个对象声明它:
Object[] ret = new Object[2];