tubeDataSplit
有多行,每行;
分隔4个数字。 tubeDataSpliter
应将这4个数字拆分并在TubeData
上使用。
我的问题是,当tubeDataSplit
大于4时,程序崩溃,因为tubeDataSpliter
数组超出界限。所以我假设tubeDataSpliter的大小是;间距。
我该如何避免这种情况?
String[] tubeDataSplit = tubeDataString.split("\\n");
String[] tubeDataSpliter;
for(int i=0; i<tubeDataSplit.length -1;i++) {
tubeDataSpliter = tubeDataSplit[i].split(";");
if (tubeDataSpliter[i] != null) {
TubeData newTubeData = new TubeData(tubeDataSpliter[0], Float.parseFloat(tubeDataSpliter[1]), Float.parseFloat(tubeDataSpliter[2]), Float.parseFloat(tubeDataSpliter[3]));
tubeDataArrayList.add(newTubeData);
}
}
答案 0 :(得分:1)
使用以下代码修改if条件:
if (tubeDataSplitter != null && tubeDataSpliter.length >=4 ) {
TubeData newTubeData = new TubeData(tubeDataSpliter[0], Float.parseFloat(tubeDataSpliter[1]), Float.parseFloat(tubeDataSpliter[2]), Float.parseFloat(tubeDataSpliter[3]));
tubeDataArrayList.add(newTubeData);
}