IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !
Java 7 : Diamond syntax et constructeurs simplifiés pour la généricité
Par Frédéric Martini
Le , par vbrabant
0  0 
27/08/2009 :
C'est fait : cette proposition a été intégré dans Java 7 sous le nom de "diamond syntax". Plus d'information sur http://blo...iamond-syntax/

16/12/2007 :

Neal Gafter et Joshuah Bloch ont proposé lors d'un BOF qui s'est tenu à Javapolis 2007 certains changements au niveau du langage Java qui pourraient être introduits dans le JDK7. Le but ici est de recueillir vos votes et commentaires, de les consolider, et de les remonter à Neal Gafter et Joshuah Bloch.
D'autres JUG répartis un peu partout dans le monde feront de même. Ce qui permettra d'avoir le maximum de retour de la communauté Java.

Ne manquez pas cette chance unique de pouvoir donner votre avis concernant le futur de Java.

Aujourd'hui :
Code : Sélectionner tout
1
2
3
Map<String, List<String>> 
  anagrams = new HashMap<String, List<String>>();
Demain :
Code : Sélectionner tout
1
2
Map<String, List<String>> 
  anagrams = new HashMap<>();
  • yann2
    Membre expérimenté
    Bonsoir

    Je suis contre, mon IDE me fait la complétion automatiquement et si l'initialisation ne se fait pas en même temps que la déclaration, l'information portée par <String, List<String>> est pratique.

    yann
    0  0 
  • jibbi
    Membre actif
    Je suis pour, en autant que l'initialisation actuelle reste disponible pour la même raison qu'a invoqué yann2.
    0  0 
  • jowo
    Membre chevronné
    Bonjour,

    J'ai voté pour. Car si j'ai déjà déclaré le type de ma généricité, je ne vois pour quelle raison, je devrais le répéter pour l'instanciation.
    0  0 
  • Napalm51
    Membre averti
    Pour, mais en gardant à l'esprit la première remarque, à savoir que les 2 versions devraient être possible.
    0  0 
  • n!co
    Membre éprouvé
    Voté pour,
    Ca alège le code sans pour autant perdre vraiment de l'information à mes yeux.
    D'autant que si je ne dis pas de bétise, seul l'information sur l'interface est réellement utile dans l'interprétation des générics par le compilateur.
    0  0 
  • adiGuba
    Expert éminent sénior
    Oui pour moi : cela permet d'éviter une répétition inutile...

    Bien sûr quoi qu'il arrive la première syntaxe sera toujours valide (rien que pour assurer la compatibilité ascendante).

    a++
    0  0 
  • bobuse
    Membre actif
    Citation Envoyé par jibbi Voir le message
    Je suis pour, en autant que l'initialisation actuelle reste disponible pour la même raison qu'a invoqué yann2.
    tout à fait pareil
    0  0 
  • OButterlin
    Modérateur
    pareil, même si ça n'est pas vital...
    0  0 
  • bulbo
    Rédacteur
    Citation Envoyé par yann2 Voir le message
    Bonsoir

    Je suis contre, mon IDE me fait la complétion automatiquement et si l'initialisation ne se fait pas en même temps que la déclaration, l'information portée par <String, List<String>> est pratique.

    yann
    Si tu as un IDE, celui ci t'informe aussi automatiquement si tu essayes de mettre des types incompatibles dans ton ArrayList.

    J'ai voté pour, on ne perd pas d'information et ce n'est pas un sucre syntaxique qui a un cout a l'exécution (comme certains introduit par le passé) il évite juste la répétition d'une info inutile et qui n'était probablement pas utilisée par le compilo qui plus est..

    Bulbo
    0  0 
  • D'un premier abord, ça semble utile, mais ça ne favorise pas l'utilisation d'interfaces...
    0  0