Java の配列境界チェックの処理方法
javaで配列の境界外アクセスを処理するためには、以下のような方法があります。
- 配列の範囲外のアクセスを避けるには、配列要素にアクセスする前にアクセスするインデックスが有効範囲内にあるか、つまり配列の有効な範囲内にあることを判断します。if文またはtry-catch文を使用して実装できます。例えば:
if (index >= 0 && index < array.length) {
// 访问数组元素
int value = array[index];
} else {
// 处理数组越界情况
System.out.println("数组索引越界");
}
- try-catchブロックで例外をキャッチする:配列のアクセスが限界を超えるとArrayIndexOutOfBoundsException例外がスローされます。この例外はtry-catchブロックでキャッチして処理できます。例:
try {
// 访问数组元素
int value = array[index];
} catch (ArrayIndexOutOfBoundsException e) {
// 处理数组越界情况
System.out.println("数组索引越界");
}
- 拡張for文を使おう:配列を拡張for文で走査する際には、添字を自分で制御する必要がなく、配列の範囲を超える問題を回避できます。例えば:
for (int element : array) {
// 处理数组元素
System.out.println(element);
}
配列の境界チェック問題に対処する鍵は、配列要素にアクセスする前に常に正当性を確認し、インデックスが有効な範囲内にあることを確認することです。