Khi sử dụng Luồng Java, đôi khi các giá trị null có thể xảy ra sau khi ánh xạ. Hiện nay khi các giá trị cần phải được bỏ qua, tôi sử dụng:Lọc các mục Null trong Luồng
.stream()
.<other operations...>
.filter(element -> element != null)
.<other operations...>
Đối với một phong cách chức năng hơn một phương pháp helper nhỏ nhanh chóng viết:
public static <T> boolean nonNull(T entity) {
return entity != null;
}
Vì vậy mà bạn có thể sử dụng một tài liệu tham khảo phương pháp thay vì:
.stream()
.<other operations...>
.filter(Elements::nonNull)
.<other operations...>
Tôi không thể tìm thấy phương pháp jdk như vậy, mặc dù tôi nghi ngờ rằng họ đã bao gồm một phương pháp. Có cách tiếp cận khác ở đây không? Hay họ đã bỏ qua điều này vì một lý do?
Điều gì xảy ra với 'e -> e! = Null'? – immibis
Không có gì trong chính nó, nhưng tôi thích một tham chiếu phương pháp khi tình huống này xảy ra trong một đường ống chỉ sử dụng các tham chiếu phương thức. Nó cảm thấy giống như một bộ ngắt kết hợp. –
Liên quan: [Có sự khác biệt nào giữa các đối tượng :: nonNull và x -> x! = Null?] (Https://stackoverflow.com/questions/25435056/is-there-any-difference-between-objectsnonnull-and- xx-null) –