Collectors.toMap () keyMapper - expressão mais sucinta?
Eu estou tentando chegar a uma expressão mais sucinta para o parâmetro de função "keyMapper" no seguinteCollectors.toMap()
ligar:
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()));
Parece que eu deveria ser capaz de incorporá-lo usando uma expressão lambda, mas não consigo criar uma que compile. (Sou novo em lambdas, então não é uma surpresa).
Obrigado.
-> Atualização:
Como observado na resposta aceita
Person::getLast
é o que eu estava procurando, e é algo que eu tentei. No entanto, o BETA_8 build noturno do Eclipse 4.3 foi o problema - ele sinalizou isso como errado. Quando compilado a partir da linha de comando (o que eu deveria ter feito antes de postar), funcionou. Então, hora de registrar um bug no eclipse.org.
Obrigado.