Neste trecho de código, a variável registro, assim que é recriada na segunda passada do loop, já assume o valor da passada anterior! O que acontece aqui??
for (int registroAtual = 1; registroAtual <= totalRegistros90; registroAtual++) {
RegistroTipo90 registro = new RegistroTipo90();
registro = /* (...) */
output.add(registro.toString());
}
Sério cara, não entendi o que vc quer fazer…
Vc quer que a cada a nova criação de registro, ela (a variável) receba o registro atual?
Flw!
Olá, Skalinichenko! Desculpe não ter sido claro o suficiente!
Aquela classe RegistroTipo90 só serve para montar uma string. Então eu vou jogando valores nela e, no final, passo a string que ela monta para um OutputStream. O problema é que na segunda passada do loop (não testei mais passadas) a variável, ao ser criada, automaticamente assume o valor que tinha na primeira passada do loop! Tipo um resssucitamento! Algo fantástico e inimaginável! Algo que só acontece a cada passagem do cometa Halley, dependendo do alinhamentos de Plutão e Mercúrio…!
Eu simplesmente não consigo entender o porque! Parece um daqueles sonhos em que algo extremamente corriqueiro passa a não fazer sentido…
Infelizmente tive que criar um workaround para resolver este problema estranhíssimo. Logo depois de criar, tive que limpar a variável!
Bom, caso alguém tenha alguma idéia do que possa estar acontecendo, ficaria muito feliz em deixar o meu código mais descente.
Abraços.