我試圖想出了下面的「Collectors.toMap()」調用「keyMapper」功能參數更加簡潔的表達: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非常陌生,所以這並不令人意外。)
謝謝。
- >更新:
作爲公認的答案指出
Person::getLast
就是我一直在尋找,而且是我試過。但是,Eclipse 4.3的夜晚版本是BETA_8的問題 - 它標記爲錯誤。從命令行編譯(我在發佈之前應該完成的),它工作。所以,時候用eclipse.org提交一個bug。
謝謝。
注意也Collectors.toMap一個靜態導入將使表達時間更短,NetBeans的似乎並沒有被導入這些對我來說,雖然不過。 –