27 votes

Les fermetures en Java 7

J'ai entendu dire que les fermetures pourraient être introduites dans la prochaine norme Java, dont la publication est prévue quelque part autour de l'été prochain.

À quoi ressemblerait cette syntaxe ?

J'ai lu quelque part que l'introduction des fermetures dans java est un changement plus important que ne l'était le générique dans java 5. Est-ce vrai ? Avantages et inconvénients ?

(Nous savons maintenant que les fermetures ne seront pas incluses dans la prochaine version de Java).

OU

éditer : http://puredanger.com/tech/2009/11/18/closures-after-all/ :D

edit2 : Repenser le JDK7 : http://blogs.oracle.com/mr/entry/rethinking_jdk7

edit3 : Il n'y a pas un moment à perdre! : http://blogs.oracle.com/mr/entry/quartet

16voto

Steven Huwig Points 8029

Jetez un coup d'œil à http://www.javac.info/ .

On dirait que c'est à ça que ça ressemblerait :

boolean even = { int x => x % 2 == 0 }.invoke(15);

où le { int x => x % 2 == 0 } est la fermeture.

13voto

Jon Skeet Points 692016

Cela dépend vraiment de ce qui est introduit, et en effet si il ne sera pas du tout introduit. Il existe un certain nombre de propositions de fermeture de taille variable.

Voir Page d'Alex Miller sur Java 7 pour les propositions et les divers articles de blog.

Personnellement, j'aimerais voir des fermetures - elles sont magnifique et incroyablement utile - mais je crains que certaines des propositions ne soient assez épineuses.

11voto

Dónal Points 61837

En novembre 2009, une volte-face surprenante a eu lieu sur cette question. les fermetures seront désormais ajoutées à Java 7.

Mise à jour

Les fermetures (alias expressions lambdas) en Java 7 n'ont pas eu lieu. Elles ont été enfin ajouté dans la première version de Java 8 en 2014.

4voto

Mario Fusco Points 4163

Malheureusement, vous ne trouverez pas de fermeture dans Java 7. Si vous cherchez une solution plus légère pour avoir la fermeture en Java, consultez le projet lambdaj :

http://code.google.com/p/lambdaj/

3voto

Agusti-N Points 1708

Voici les caractéristiques de java 7 http://tech.puredanger.com/java7/#switch les exemples sont très utiles.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X