第一个例子
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++;
}
VS。
第二个例子
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
时间,第二个没有,并且工作得很好。fileArray
两者都相同,但对于 2.window
数组被定义为属性,而对于第一个,“窗口”数组在方法(和 for 循环)内部定义。这有什么区别吗?