我试图为以下Collectors.toMap()
调用中的"keyMapper"函数参数想出更简洁的表达方式:
List<Person> roster = ...;
Map<String, Person> map =
roster
.stream()
.collect(
Collectors.toMap(
new Function<Person, String>() {
public String apply(Person p) { return p.getLast(); }
},
Function.<Person>identity()));
看起来我应该能够使用lambda表达式进行内联,但我无法想出一个可以编译的lambda表达式。(我对lambda表达式很新,所以这并不令人感到意外。)
谢谢。
--> 更新:
正如被接受的答案中所提到的
Person::getLast
这正是我正在寻找的内容,而且我之前也试过。然而,Eclipse 4.3 的 BETA_8 每夜构建版就是问题所在——它将其标记为错误。当从命令行编译时(在发布之前应该这样做),它就可以工作了。因此,现在是向eclipse.org提交bug报告的时候了。
谢谢。