最初の例
int windowStart = 0;
for (int i = 0; i + windowSize < fileArray.size(); i++) {
ArrayList <Character> window = new ArrayList <Character> ();
for (int s = windowStart; s <= windowStart + windowSize; s++) {
window.add(fileArray.get(s));
}
windowStart++;
}
対。
2番目の例
int ind = 0;
for (int i = 0; i + windowSize < fileArray.size(); i++) {
for (int b = ind; b <= windowSize + ind; b++) {
window.add(fileArray.get(b));
}
ind++;
}
最初のものはスローしますjava.lang.IndexOutOfBoundsException
が、2番目のものはスローしませんが、うまく機能します。fileArray
どちらも同じですが、2 の場合はwindow
配列が属性として定義されますが、最初の配列では、「ウィンドウ」配列がメソッド (および for ループ) 内で定義されます。それは違いがありますか?