如何修复错误引起的:java.lang.ArrayIndexOutOfBoundsException:length = 0; index = 0:
我尝试简化代码,例如布尔我有时候是真或假,它们无关紧要。
我无法找到的是如何从bListA声明数组aList,就像这段代码一样:aList[y]=bListA[x]
`
B级:
public String[] bList ={"a","b","c"};
A类:
String[] bListA=new B().bList;
int x;
int y = 0;
String[] aList= new String[0];
boolean I;
for (x=0;x<bListA.length;x++){
if(I){
aList[y]=bListA[x];
y++;
}
}
向我显示的错误是:由以下原因引起: java.lang.ArrayIndexOutOfBoundsException:length = 0;索引= 0 单击它时,android studio会将您带到以下行:
aList[y]=bListA[x]
如何修复这样的错误?请注意,我不想尝试和捕捉,因为如果我每次都是真的然后我得到一个错误,我必须显示对不起的按摩!但我永远得到错误!只有当你认为错误会出现一次时才会有好主意。
答案 0 :(得分:2)
您声明了一个大小等于零的数组。
String[] aList = new String[bListA.length()];
这就是你有这个例外的原因。
你应该这样做:
{{1}}
答案 1 :(得分:2)
看起来你正试图扭转你的bList。
这里你声明了一个大小为0的aList,所以你不能添加任何元素
String[] aList= new String[0];
因此任何带有aList [1]等的东西都会给你错误。
所以,如果你想反转,请执行
String[] aList= new String[bListA.length()];
然后在for循环中,您可以执行aList[y]=bListA[x]
此外,如果您想使用动态数组
List<String> list = new ArrayList<String>();
list.add(bListA[x]);
这样您就可以添加任意数量的