"foreach" в Java, например,
for (Mouse mouse: mouses) {
[...]
}
Мы не можем сделать:
Mouse mouse;
for (mouse: mouses) {
[...]
}
Я цитирую geeksforgeeks : Since the i variable goes out of scope with each iteration of the loop, it is actually re-declaration each iteration
Таким образом, переменная будет объявлена только один раз. Я не знаю, может ли это иметь очень небольшую оптимизацию, но это то, что я делаю в «нормальных» циклах на каждом языке.
Кроме того, таким образом последний элемент будет доступен и вне цикла. Это, например, значение по умолчанию в Python
.
Как еще один связанный вопрос, есть какое-то преимущество, чтобы сделать
for (final Mouse mouse: mouses) {
[...]
}
с точки зрения скорости, или mouse
нельзя просто переназначить внутри цикла?