0
循環有人可以幫我指出這兩個循環之間的區別嗎?他們看起來可能會做同樣的事情,但事實並非如此。For Java Swing中使用索引
for(int i = 0; i < shapes.size() - 1; i++) {
Graphics2D g2d = (Graphics2D) g;
shapes.get(i).paint(g2d);
}
如何在沒有i(索引)的情況下編寫我的第一個for循環?
for(Shape shape : shapes) {
Graphics2D g2d = (Graphics2D) g;
shape.paint(g2d);
}
第一個忽略集合中的最後一個項目,第二個命中所有項目。你爲什麼要問?你看到什麼行爲差異? –
我想繪製ArrayList中的所有項目。第二個是正確的:當你拖動鼠標時,它按順序繪製所有的形狀。第一個在拖動鼠標時繪製形狀,但在釋放時消失。然後,當您繪製第二個形狀時,第一個形狀再次出現。 – Rain
那麼你的第一個循環是壞的。 –