Java 8 では、Stream クラスは AutoCloseable を実装します。これは、ストリーム インスタンスを明示的に閉じる必要があることを意味します。
ファイル ハンドラーと DB 接続が閉じられる理由がわかりました。しかし、なぜストリーム?
Java 8 では、Stream クラスは AutoCloseable を実装します。これは、ストリーム インスタンスを明示的に閉じる必要があることを意味します。
ファイル ハンドラーと DB 接続が閉じられる理由がわかりました。しかし、なぜストリーム?
Stream の現在のドキュメント/javadocはかなり明確だと思います。
ストリームには BaseStream.close() メソッドがあり、AutoCloseable を実装していますが、ほとんどすべてのストリーム インスタンスは、使用後に実際に閉じる必要はありません。一般に、ソースが IO チャネル (Files.lines(Path, Charset) によって返されるものなど) であるストリームのみを閉じる必要があります。ほとんどのストリームは、特別なリソース管理を必要としないコレクション、配列、または生成関数によって支えられています。(ストリームを閉じる必要がある場合は、try-with-resources ステートメントでリソースとして宣言できます。)