tôi đã tìm thấy đoạn mã sau:Streams trong Java, không thể tìm ra mã này
Function<Integer, Predicate<Integer>> smallerThan = x -> y -> y < x;
List<Integer> l = Arrays.asList(5, 6, 7, 23, 4, 5645,
6, 1223, 44453, 60182, 2836, 23993, 1);
List<Integer> list2 = l.stream()
.filter(smallerThan.apply(l.get(0)))
.collect(Collectors.toList());
System.out.println(list2);
Như ra tôi nhận được:
[4, 1]
như thế nào smallerThan
hàm trong ví dụ này công việc, xem xét rằng chúng tôi chỉ vượt qua một tham số smallerThan.apply(l.get(0))
?
'smallThan' là hàm trả về hàm. –
Bạn có thể viết lại 'smallThan' như sau:' x -> (y -> (y
jrook
Xem [Currying] (https://en.wikipedia.org/wiki/Currying). –