Den som vill prova lambda à la jdk 8 behöver bara ladda hem jdk 8 med lambda-stöd.
Utvecklingen av jdk8 sker i en branch som ännu så länge kan laddas ner separat. Alla föreslagna ändringar i jdk8 finns alltså inte med här men tillräckligt för att leka med.
Vidare behöver du en IDE med lambda-stöd. I skrivandes stund finns Netbeans och nyligen släppta IDEA 12 (på demon använde jag experimentella IDEA IntelliJ Leda) med stöd för lambda-uttryck.
Brian Goetz har författat en del intressant och lättläst (i alla fall mer lättläst än själva JSR 335) material som sammanställer lambda-relaterade språk-förbättringar i jdk8.
- http://cr.openjdk.java.net/~briangoetz/lambda/sotc3.html
- http://cr.openjdk.java.net/~briangoetz/lambda/collections-overview.html
- http://cr.openjdk.java.net/~briangoetz/lambda/lambda-translation.html
Prova gärna nedanstående recept för att banta antalet rader i din kodbas:
Thread thread = new Thread( () -> System.out.println("Do this later in separate thread..."));
Eller en läcker list-reduktion:
final List<String> names = Arrays.asList("ghandi", "mandela", "tutu", "king", "theresa"); names.stream() .filter(s -> s.startsWith("t")) .forEach(s -> System.out.println("Namn som börjar på t: " + s));
...där det senaste torde ge följande output när du kör det:
Namn som börjar på t: tutu Namn som börjar på t: theresa
Får man önska? Din kod på github :) #kickstart
SvaraRadera