Jeśli używamy Java 8 Stream jak list.stream().filter(....).collect(..).....
Kiedy jest zamknięty ten strumień?Zamknij Java 8 Stream
Czy to dobra praktyka, że zamykamy strumień jako następny przykład?
Stream<String> stream = list.stream();
String result = stream.limit(10).collect(Collectors.joining(""));
stream.close();
Od docs: Strumienie mają metodę BaseStream.close() i wdrożyć AutoCloseable, ale prawie wszystkie przypadki strumień rzeczywistości nie muszą być zamknięte po użyciu. Zwykle tylko strumienie, których źródłem jest kanał We/Wy (takie jak te zwrócone przez Files.lines (Ścieżka, Zestaw znaków)) będą wymagały zamknięcia. Większość strumieni jest wspierana przez kolekcje, tablice lub funkcje generujące, które nie wymagają specjalnego zarządzania zasobami. (Jeśli strumień wymaga zamknięcia, może zostać zadeklarowany jako zasób w instrukcji try-with-resources.) – Matt
Nie sądzę, że musisz zamknąć TO "strumień" ^) – injecteer
Strumienie w ogóle nie muszą być Zamknięte. Tylko niektóre strumienie, które uzyskują dostęp do zasobów, takie jak 'DirectoryStream', muszą zostać zamknięte. Najlepszym sposobem na to jest użycie instrukcji [try-with-resources] (https://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html). – Jesper