У меня есть ситуация, когда я читаю базу данных и возвращаю List<String>
, где каждая строка выбирается и добавляется в список в соответствии с некоторыми критериями. Подпись метода:
public List<String> myMethod(String query, int limit)
Второй параметр предоставляет верхнюю границу размера возвращаемого списка (установка limit=-1
приведет к удалению любого ограничения по размеру). Чтобы избежать интенсивного использования этого метода, я написал эквивалентный метод, который возвращает Stream<String>
вместо списка. (Примечание. Мне не нужен случайный доступ к возвращенным элементам или любой другой функции, специфичной для списка.)
Однако я немного скептически отношусь к возврату Stream<>
, тем более, что метод является общедоступным. Безопасно ли иметь общедоступный метод, возвращающий Stream<>
в Java?