Java 8 - 从Collection.stream.map()调用多参数方法

Pra*_*sad 7 java lambda java-8 java-stream

我一直在使用java 8 Streams.我遇到了一种情况,我需要流式传输List并将每个元素与另一个参数一起传递给静态方法.在java 8中有可能吗?

........
String designation = "Engineer";
List<String> names = new ArrayList<>();
names.add("ABC");
names.add("DEF");
names.add("GHI");
names.stream().map(MyClass::createReport);
..........

class MyClass {
    public static void createReport(String name, String designation) {
       System.out.println(name+"\t"+designation);
    }
}
Run Code Online (Sandbox Code Playgroud)

如何通过stream().map()传递指定String?

Era*_*ran 6

使用lambda表达式:

names.stream().map(name -> MyClass.createReport(name,designation))...
Run Code Online (Sandbox Code Playgroud)

  • 请注意,为了在lambda表达式中使用,指定必须是final或者final. (5认同)