Ich versuche, im folgenden Collectors.toMap()
Aufruf einen prägnanteren Ausdruck für den Funktionsparameter "keyMapper" zu finden :
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()));
Es scheint, dass ich in der Lage sein sollte, es mit einem Lambda-Ausdruck zu inline, aber ich kann mir keinen ausdenken, der kompiliert. (Ich bin ziemlich neu in Lambdas, das ist also keine große Überraschung.)
Vielen Dank.
-> Update:
Wie in der akzeptierten Antwort angegeben
Person::getLast
ist das, wonach ich gesucht habe und was ich versucht habe. Der nächtliche BETA_8-Build von Eclipse 4.3 war jedoch das Problem - er hat dies als falsch gekennzeichnet. Beim Kompilieren über die Befehlszeile (was ich vor dem Posten hätte tun sollen) hat es funktioniert. Also, Zeit, einen Fehler bei eclipse.org zu melden.
Vielen Dank.