Tôi đang tìm phương pháp có thể tạo luồng thu thập nhưng không an toàn. Nếu bộ sưu tập rỗng, luồng trống sẽ được trả về. Như thế này:Bộ sưu tập an toàn Null dưới dạng luồng trong Java 8
Utils.collectionAsStream(collection).filter(...);
Tôi đã tạo ra phương pháp riêng của tôi:
public static <T> Stream<T> collectionAsStream(Collection<T> collection) {
if (collection == null) {
return Stream.empty();
}
return collection.stream();
}
Nhưng tôi tò mò, nếu có cái gì đó như thế này trong tiêu chuẩn JDK?
Bạn nên cố gắng tránh những 'bộ sưu tập null' ở nơi đầu tiên. Cách tốt nhất là sử dụng bộ sưu tập trống để thay thế. –
Có, tôi đồng ý, nhưng nếu bạn phụ thuộc vào thư viện khác của người khác, bạn không có lựa chọn. – Gondy
Trong trường hợp đó bạn chỉ có thể thay thế bộ sưu tập mà bạn nhận được từ thư viện đó bằng thư viện rỗng khi nó trả về 'null'. Một chút giống như trong giải pháp của greg. –