【发布时间】:2017-04-20 06:32:34
【问题描述】:
过去几天收到 ArrayIndexOutOfBoundsException 。我知道 #SO 上已经有人问过这类问题。我试过了。
java.lang.ArrayIndexOutOfBoundsException: length=1;索引=1
代码
String[] Child_DOB = "KUSHAGRA (SON)-07/05/94AANVI (DAUGHTER)-12/06/00 VARENYA (SON) - 26/12/05";
ArrayList<String> children_List = new ArrayList<String>();
ArrayList<Integer> Length_List = new ArrayList<Integer>();
String Children_Details_str = "";
int i = 0;
while (i < Child_DOB.length) {
String name_dob = Child_DOB[i] + " " + Child_DOB[i + 1];//this line
if (i > 3)
Children_Details_str = Children_Details_str + "\n" + name_dob;
else
Children_Details_str = Children_Details_str + name_dob + " ";
children_List.add(name_dob);
Length_List.add(Child_DOB[i].length());
Length_List.add(Child_DOB[i + 1].length());
i = i + 2;
}
我可以知道实现目标的正确方法是什么吗?任何帮助将不胜感激
【问题讨论】:
-
在访问之前您可以使用 if 条件检查
-
很难理解您要达到的目标。但你可以这样检查:
while ( (i + 1) < Child_DOB.length) { .. } -
String[ ] Child_DOB : 不兼容的类型,应该是String。拆分字符串并生成 String[ ].
-
你在 "String[] Child_DOB" 中只有一个字符串元素,所以它只有 Child_DOB[0] 但没有元素 Child_DOB[i+1] 所以它抛出异常的索引
-
@Janak
Child_DOB的值是硬编码的
标签: android indexoutofboundsexception