我建立了一个小例子来测试Java 8。
有一个字符串列表:

List<String> list = Arrays.asList(new String[] { "Sheep", "Ship","Skeleton" });

以下功能:

list.stream().forEach(name -> list.forEach(name2->System.out.println("Name2:"+name2+" name:" + name + "=>" + name2.compareTo(name))));


返回name2和name1之间的比较。

我正在尝试测试,但不知道这种情况是否可行:
具有相同的列表和一个名为lastFoundWord的独立String变量
我可以在与上一行进行比较之后立即以“ lambda方式”分配变量吗?

注意:我看到forEach无法接受“消费者”列表,并且“消费者”的建立非常严格。我不确定“功能”界面。
我所有的想法都指导我重复两次相同的信息。

也许有一个forEach函数可以接受消费者列表,但我错过了吗?

最佳答案

我试图弄清楚使用列表中的消费者。

尽管对于当前示例,我找到了使用花括号的解决方案。
因此代码变成了:

list.stream().forEach(name -> list.forEach(name2 -> {
    System.out.println("Name2:" + name2 + " name:" + name + "=>" + name2.compareTo(name));
    lastName = name2;
}));

关于java - Java 8 Lambda使用一次迭代多次使用一条信息,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30103717/

10-11 09:31