我建立了一个小例子来测试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/