Giả sử chúng ta có một lớp Customer
:Thay lambda với tài liệu tham khảo phương pháp trong flatMap trong mảng bản đồ
public class Customer {
private Car[] cars;
// getter, setter, constructor
}
và bộ sưu tập của khách hàng mà chúng tôi cần để lập bản đồ trên xe ô tô.
Hiện nay tôi đang làm việc đó bằng cách nào đó như thế này:
Collection<Customer> customers = ...
customers.stream().flatMap(
customer -> Arrays.stream(customer.getCars())
)...
Nó hoạt động tốt, nhưng mã không giống tao nhã. Tôi thực sự muốn thay thế nó bằng mã sử dụng các tham chiếu phương thức thường trông dễ đọc hơn và gọn hơn. Nhưng sử dụng một trường kiểu mảng làm cho nó khó.
Câu hỏi: có cách nào để tăng cường cuộc gọi flatMap
để có thể đọc/nhỏ gọn/rõ ràng hơn không?
Bạn cũng có thể làm 'khách hàng.stream() bản đồ (Khách hàng :: getCars) .flatMap (Mảng :: stream)' nhưng IMO giải pháp của bạn có thể đọc được và thanh lịch. –