在下面的代码中,我如何防范 ArrayIndexOutOfBoundsException 或 NullPointerException 因为在某些时候,注释第 2 行将为 mydates[] 中的最后一个条目给我一个空值,或者 dates[mod] 如果我将抛出一个 ArrayOutOfBoundExceptionmod > dates.lenght
在评论第 1 行做
if(dates.length >= 10){
mydates = new String[11];
int last = dates.length;
int mod = 0;
int add_mod = (int) Math.round((double)Math.round(last) /10);
for(int i =0; i < dates.length; i++){
if(mod >= dates.length){ // line1
break;
}
mydates[i] = DateFormatter.GraphDateToString(DateFormatter.convertToDate(
Long.parseLong(dates[mod]))); //line2
mod += add_mod;
}
} else {
mydates = new String[dates.length];
for(int i =0; i < dates.length; i++){
mydates[i] = DateFormatter.GraphDateToString(DateFormatter.convertToDate(
Long.parseLong(dates[i])));
}
}
我解决它的方法是再次迭代数组并检查空值,同时从那里填充一个新数组。但我想知道是否有更好的解决方案。