gpt4 book ai didi

java - 我可以访问流链中先前 lambda 的值吗?

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:07:55 24 4
gpt4 key购买 nike

我有这个流代码,它不编译:

itemList.stream()
.map(im -> item2dogsMap.get(im.getEan()))
.flatMap(List<Dog>::stream)
.forEach(d -> System.out.println("item" + im + " with dog " + d));

问题是在 forEach 语句中我需要 imd。但它无法在此处解析 im

我可以创建一个采用这两个值的 ItemAndDog 类,并在 map 语句中执行一个新操作。但这对我来说似乎有点矫枉过正。有没有办法在不创建额外类的情况下做到这一点?

最佳答案

你不能。如果您将 lambda 转换为匿名内部类,您会看到,您想要使用的变量超出了范围。

关于java - 我可以访问流链中先前 lambda 的值吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34177744/

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