samedi 21 avril 2012

Java 1.8 lambda exemple

Lors de devoxx, on a assisté à une présentation de Guillaume Tardif sur le JDK1.8 et l’utilisation des lambdas (http://www.devoxx.com/display/FR12/JDK+8+demo++lambdas+in+Action)

Voici un exemple sur l’utilisation des lambdas :

Pour télécharger le jdk :http://jdk8.java.net/lambda/


Pour installer temporairement le jdk1.8 sous ubuntu :


sudo mv ./jdk1.8.0 /usr/lib/jvm/
sudo update-alternatives --install “/usr/bin/java” “java” “/usr/lib/jvm/jdk1.8/bin/java” 1
sudo update-alternatives --install “/usr/bin/javac” “javac” “/usr/lib/jvm/jdk1.8/bin/javac” 1

sudo update-alternatives --config java


Ensuite, il suffit de choisir le jdk.

Attention : Moi j’ai eu un bug avec javac car javac -version m’affichait toujours java 1.6.
Donc pour compiler l’exemple ci-dessous, j’ai fait :

/usr/lib/jvm/jdk1.8.0/bin/javac Main.java
java Main


Voici un exemple d’utilisation des lambdas :

import java.util.ArrayList;
import java.util.List;


public class Main {

public static void main(String[] args) {
List names = new ArrayList();
names.add("superman");
names.add("batman");
names.forEach( (String s) -> { System.out.println(s);} );
}

}


Dans l’exemple ci-dessus, on affiche :

superman
batman


Autre point important, Java 1.8 devrait supporté l’héritage multiple !