मैं निम्नलिखित "Collectors.toMap()" कॉल में "keyMapper" समारोह पैरामीटर के लिए एक और अधिक संक्षिप्त अभिव्यक्ति साथ आने के लिए कोशिश कर रहा हूँ:संग्राहक.तोMap() 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()));
ऐसा लगता है कि मैं इसे इनलाइन में सक्षम होना चाहिए एक लैम्ब्डा अभिव्यक्ति का उपयोग करके, लेकिन मैं संकलित एक के साथ नहीं आ सकता है। (मैं लैम्बडास के लिए काफी नया हूं, इसलिए यह आश्चर्य की बात नहीं है।)
धन्यवाद।
-> अद्यतन:
स्वीकार किए जाते हैं जवाब में बताया गया है
Person::getLast
मैं के लिए क्या देख रहा था है, और कुछ मैंने कोशिश की थी। हालांकि, बीईटीए_8 रात के ग्रहण की रात का निर्माण समस्या थी - यह गलत के रूप में चिह्नित किया गया था। कमांड लाइन से संकलित जब (जो मुझे पोस्ट करने से पहले किया जाना चाहिए था), यह काम किया। तो, eclipse.org के साथ एक बग फाइल करने का समय।
धन्यवाद।
यह भी ध्यान रखें Collectors.toMap के लिए एक स्थिर आयात एक्सप्रेशन छोटा अभी भी कर देगा, NetBeans हालांकि फिर भी मेरे लिए इन आयात करने जा करने के लिए प्रतीत नहीं होता। –