在Java中,如何使用空数据(有时没有数据)拆分Arraylist?
我正在ArrayList中存储数据。现在我想用符号“=”拆分我的ArrayList。但在执行代码时,我遇到了错误。我想要数据,它写在等于之后。请检查和帮助 我在arrayList中的数据如下:在Java中,如何使用空数据(有时没有数据)拆分Arraylist?,java,Java,我正在ArrayList中存储数据。现在我想用符号“=”拆分我的ArrayList。但在执行代码时,我遇到了错误。我想要数据,它写在等于之后。请检查和帮助 我在arrayList中的数据如下: SrNo=1 DocCode=HRF03_V1_0 CompCode=G&B EmpCode=11182 fldMode=Apply For Leave fldLeaveType=CL fldFromDate=27/03/201
SrNo=1
DocCode=HRF03_V1_0
CompCode=G&B
EmpCode=11182
fldMode=Apply For Leave
fldLeaveType=CL
fldFromDate=27/03/2015
fldToDate=27/03/2015
fldFullDays=1
fldHalfDay=0
fldWhichHalf=-
fldReason=test
fldTelExtn=
fldLta=
fldLtaSal=
fldLtaYears=0
fldNt=
fldLtaAmt=
fldLtaDays=
fldEnc=
fldEncDays=
fldEncSal=
fldEncAmt=
fldPlAdv=
String[] commaString =tableContent.toString().split(",");
for(int i=0;i<commaString.length;i++){
strKey.add(commaString[i]);
}
for (int i = 0; i <strKey.size(); i++) {
System.out.println(strKey.get(i).toString().split("[1]);
}
java.lang.ArrayIndexOutOfBoundsException: 1
代码:
SrNo=1
DocCode=HRF03_V1_0
CompCode=G&B
EmpCode=11182
fldMode=Apply For Leave
fldLeaveType=CL
fldFromDate=27/03/2015
fldToDate=27/03/2015
fldFullDays=1
fldHalfDay=0
fldWhichHalf=-
fldReason=test
fldTelExtn=
fldLta=
fldLtaSal=
fldLtaYears=0
fldNt=
fldLtaAmt=
fldLtaDays=
fldEnc=
fldEncDays=
fldEncSal=
fldEncAmt=
fldPlAdv=
String[] commaString =tableContent.toString().split(",");
for(int i=0;i<commaString.length;i++){
strKey.add(commaString[i]);
}
for (int i = 0; i <strKey.size(); i++) {
System.out.println(strKey.get(i).toString().split("[1]);
}
java.lang.ArrayIndexOutOfBoundsException: 1
拆分时,在=之后没有任何内容的行返回仅包含一个元素的数组 e、 g 按=返回值拆分
["fldEnc"]
["fldEncDays"]
["fldEncSal"]
["fldEncAmt"]
因此,尝试访问这些数组的索引1将抛出ArrayIndexOutOfBoundsException
因此,为了避免您的异常,请尝试替换
for (int i = 0; i <strKey.size(); i++) {
System.out.println(strKey.get(i).toString().split("=")[1]);
}
for(int i=0;i Java为此有一个Properties
对象。是否确实要将其存储在arraylist而不是Map中?这不是arraylist的任务。对于这样的示例fldPlAdv=
右侧没有值,因此在拆分字符串[]后,它将只有一个元素和[1]引用不存在的第二个元素,这就是您获取ArrayIndexOutofBoundsCeption的原因。您确实应该进入属性文件并通过ResourceBundle类访问它们,如:ResourceBundle设置=ResourceBundle.getBundle(“设置”);
然后可以访问值,如:String empCode=settings.getString(“EmpCode”);
在运行时修改它?没问题: