gpt4 book ai didi

Java 流 API 过滤器

转载 作者:搜寻专家 更新时间:2023-11-01 01:12:02 25 4
gpt4 key购买 nike

我有代码:

static void doSmth() {
ArrayList<String> list = new ArrayList<>();
for (int i = 0; i < 30; i++) {
list.add(String.valueOf(i));
}
list.stream().filter("1329"::contains).map(s -> s + "a").forEach(System.out::println);
}

为什么我得到:

 1a
2a
3a
9a
13a
29a

我期望一个空输出,因为列表不包含“1329”。

最佳答案

因为

.filter("1329"::contains)

意思是

.filter(s -> "1329".contains(s))

不是

.filter(s -> s.contains("1329"))

我猜你认为这意味着什么。

所以你的列表保留:

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, ... 25, 26, 27, 28, 29]
^ ^ ^ ^ ^ ^

其中 "1329" 包含 1,2, 3, 9, 13 和 29

关于Java 流 API 过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56691000/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com