我有一个循环迭代,其中包含不同大小的各种数组上这种形式的许多条件
if (a[k]<=x){
if(al[k+1]==y){
if(a[k+2]>=x){
}
}
}
if (b[k]<=x){
if(al[k+1]==y){
if(b[k+2]>=x){
}
}
}
这是因为我不想为每个数组创建单独的循环。 显然,如果我根据较大数组的大小进行循环,则另一个数组可能会超出范围。 为了避免这种情况,我想在每个条件下添加多重检查,例如
if (b[k]<=x){
if(sizeAl<k+1 && al[k+1]==y){
if(sizeB<k+2 && b[k+2]>=x){
}
}
或者我可以使用 try catch
就性能而言,什么是更好的选择? 欢迎任何建议
最佳答案
这与性能无关——数组索引越界不应该出现在您的代码中,如果出现,则表明代码已损坏,因此您永远不应该 try catch 它。相反,使用单元测试或其他测试来尝试使您的代码尽可能防弹。
关于java - 避免越界。尝试 catch 与条件检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28256628/