entanglement
A resposta simples é “não”.
Se quiser a explicação, pense em um enhanced for como sendo um código reescrito pelo compilador. Ele vê isto:
byte[] bytes = new byte[20];
for (byte b : bytes) {
soma += b;
}
como
for (int i = 0; i < bytes.length; ++i) {
byte b = bytes[i];
soma += b;
}
Note que b é uma cópia (não uma referência) para bytes[i], portanto não é possível você alterar o array usando o enhanced for.
Sem_Nome
entanglement:
A resposta simples é “não”.
Se quiser a explicação, pense em um enhanced for como sendo um código reescrito pelo compilador. Ele vê isto:
byte[] bytes = new byte[20];
for (byte b : bytes) {
soma += b;
}
como
for (int i = 0; i < bytes.length; ++i) {
byte b = bytes[i];
soma += b;
}
Note que b é uma cópia (não uma referência) para bytes[i], portanto não é possível você alterar o array usando o enhanced for.
Eu havia pensado nisso mas queria ter certeza de que não havia. Depois que eu comecei a usar Enhanced For nunca mais usei a forma abaixo.
Obrigado pela atenção.