"O fluxo já foi operado ou fechado" Exceção em Java

"O fluxo já foi operado ou fechado" Exceção em Java

*1. Visão geral *

Neste breve artigo, discutiremos uma Exceção comum que podemos encontrar ao trabalhar com a classe Stream no Java 8:

IllegalStateException: stream has already been operated upon or closed.

Descobriremos os cenários quando essa exceção ocorrer e as possíveis maneiras de evitá-la, junto com exemplos práticos.

===* 2. A causa *

No Java 8, cada classe Stream representa uma sequência de dados de uso único e suporta várias operações de E/S.

_ Um _Stream deve ser operado (invocando uma operação de fluxo intermediário ou terminal) apenas uma vez. Uma implementação de fluxo pode gerar IllegalStateException se detectar que o Stream está sendo reutilizado. __

Sempre que uma operação de terminal é chamada em um objeto Stream, a instância é consumida e fechada.

Portanto,* temos permissão para executar apenas uma única operação que consome um Stream *, _ caso contrário, obteremos uma exceção que afirma que o _Stream