Publicité
+ Répondre à la discussion
Page 1 sur 3 123 DernièreDernière
Affichage des résultats 1 à 20 sur 45
  1. #1
    Modérateur
    Avatar de bouye
    Homme Profil pro Fabrice Bouyé
    Développeur Java
    Inscrit en
    août 2005
    Messages
    4 450
    Détails du profil
    Informations personnelles :
    Nom : Homme Fabrice Bouyé
    Âge : 37
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : août 2005
    Messages : 4 450
    Points : 9 127
    Points
    9 127

    Par défaut [JavaOne] Java 7

    C'est a nouveau Java One (la grande conf anuelle de Sun a San Francisco pour ceux qui ignorent ce que c'est), et l'on donne quelques nouvelles infos sur les orientations du devellopement de Java 7.

    http://tech.puredanger.com/2007/05/09/java7-roundup-14/
    http://puredanger.com/techfiles/java7.pdf
    http://puredanger.com/techfiles/Java7WhatsNext.ppt

    Ce que je retiendrai surtout :

    -Java Modularity/Java Kernel : j'en pense pas grand chose et je trouve l'idee ridicule (cf discussion sur la distribution du JDK par le passe). En quoi les gens trouvent difficile de telecharger 7~15Mo de nos jours quand on peut trouver des telechargement de demos de jeu ou de logiciels de DAO/bureautique qui depassent les 500Mo~1Go... De plus dans le pays ou Internet est moins develloper, mieux vaut tout telecharger en une seule fois sur un poste et distribuer l'integralite de la distrib sur CD sur les autres plutot que de devoir telecharger/streamer a chaque fois sur chacun des postes.

    De mon points de vie, la notion de modularite est uniquement interressante pour la mise a jour du JRE, et encore a nouveau uniquement dans un envirronement connecte 100% du temps au Net (et via un debit rapide).

    - Swing : l'application framework que j'attends depuis ... 1999~2000 se precise enfin. Le beans binding aussi ca permettra d'ecrire plus rapidement les actions d'un programme.
    Aucune nouvelle de nouveaux composants helas...

    -Reified generics : top si ca rapprochera plus le concept des generics de celui des templates. Si on peut en plus faire de la reflection dessus ca sera bien aussi mais alors il y aura probablement quelques problemes de compatibilite ascendente. L'exemple present dans la presentation PowerPoint n'est guere parlant.

    - Short instance creation : si j'ai bien compris l'histoire on va dans la bonne direction. En effet, depuis que j'ai commence a faire des Generics j'ai toujours trouve assez ridicule de devoir faire ca :

    Code :
    Map<String, Integer> map = new HashMap<String, Integer>();
    alors que ceci suffirai largement (oui on peut le faire en desactivant des warnings dans l'IDE, je sais) :

    Code :
    Map<String, Integer> map = new HashMap();
    Cependant d'apres l'exemple on aura plutot ca :

    Code :
    map := new HashMap<String, Integer>();
    Ce que je trouve TRES TRES etrange

    - le support des proprietes : mis a part la notation pointeur qui portera encore plus a confusion les utilisateurs de C++ migrant vers Java , dans le principe c'est interressant mais pour le noment je n'ai vu nulle part si la generation automatique des getters/setters supporte :
    1) la surchage manuelle de ces meme getters/setters (y compris quand il y a de la covariance) directement dans la classe ou dans les classes filles. Ben oui parfois il faut verifier les valeurs passees ou retournees.
    2) la leve automatique d'un PropertyChangeEvent quand on modifie la propriete... c'est quand meme bien ca le coeur du probleme : notifier les observateurs que la propriete a change sans devoir a chaque fois manuellement reecrire les mecanismes permettant d'enregister/desenregistrer les listeners ainsi que le parcourt de la liste pour la notification de l'evenement...

    - les petits plus :
    Les string dans des switch
    Utiliser directement les operateurs numeriques sur les BigDecimal
    Les operateurs < et > sur les enums.

    pour le reste c'est pas trop ma tasse de the donc je ne peux pas donner mon avis. Et surtout je n'ai toujours rien compris aux closure mis a part que ca me donne mal au crane.
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  2. #2
    Expert Confirmé
    Avatar de ®om
    Inscrit en
    janvier 2005
    Messages
    2 813
    Détails du profil
    Informations forums :
    Inscription : janvier 2005
    Messages : 2 813
    Points : 2 832
    Points
    2 832

    Par défaut

    Citation Envoyé par bouye
    Code :
    Map<String, Integer> map = new HashMap<String, Integer>();
    alors que ceci suffirai largement (oui on peut le faire en desactivant des warnings dans l'IDE, je sais) :

    Code :
    Map<String, Integer> map = new HashMap();
    Ta ligne de code est équivalente à :
    Code :
    1
    2
    3
    4
    HashMap hmap = new HashMap();
    Map<String, Integer> map = hmap;
    // tu peux donc rajouter
    hmap.put(new Object(), new Object());
    d'où le warning...

    Et les paramètres génériques à gauche et à droite ne sont pas forcément les mêmes.
    Code :
    List<? extends Number> list = new ArrayList<Integer>();


    Sinon un mot clé property pourrait être une bonne idée (j'y pensais justement quand on avait un projet EJB3).

    Les closures ça peut être bien, mais ça perturbe au début lorsqu'on lit un code (selon les syntaxes proposées) de démo d'une closure...

  3. #3
    Modérateur
    Avatar de bouye
    Homme Profil pro Fabrice Bouyé
    Développeur Java
    Inscrit en
    août 2005
    Messages
    4 450
    Détails du profil
    Informations personnelles :
    Nom : Homme Fabrice Bouyé
    Âge : 37
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : août 2005
    Messages : 4 450
    Points : 9 127
    Points
    9 127

    Par défaut

    Citation Envoyé par ®om
    Ta ligne de code est équivalente à :
    Code :
    1
    2
    3
    4
    HashMap hmap = new HashMap();
    Map<String, Integer> map = hmap;
    // tu peux donc rajouter
    hmap.put(new Object(), new Object());
    d'où le warning...
    Non car il suffirait de restreindre cette ellipse a l'usage de l'operateur new ce qui changerait au final peu de chose puisque grosso modo les Generics actuels ne sont que du sucre syntaxique pre-compilation destine a eviter les erreurs de programmation courants. Bref il me semble que c'est plutot une limitation (volontaire certes) de la grammaire du langage ou du compilateur qu'autre chose (bien plus que le fait que les types ne soient pas conserves en runtime).

    Et les paramètres génériques à gauche et à droite ne sont pas forcément les mêmes.
    Code :
    List<? extends Number> list = new ArrayList<Integer>();
    D'ou la possibilite de laisser la specification du type a doite de l'affectation en optionnel (s'il y a rien on garde le type a gauche de l'affectation, sinon on prend le type a droite s'il est compatible avec le type de gauche - ce qui est fait actuellement dans ce dernier cas de figure).

    Mais bon, pas la peine de grands debats, ce n'est guere la direction (ou la syntaxe) qu'ils ont pris.

    Les closures ça peut être bien, mais ça perturbe au début lorsqu'on lit un code (selon les syntaxes proposées) de démo d'une closure...
    D'ou le mal de crane en effet .
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  4. #4
    Expert Confirmé Sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    avril 2002
    Messages
    13 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : avril 2002
    Messages : 13 196
    Points : 19 130
    Points
    19 130

    Par défaut

    Salut,

    Citation Envoyé par bouye
    - Swing : l'application framework que j'attends depuis ... 1999~2000 se precise enfin. Le beans binding aussi ca permettra d'ecrire plus rapidement les actions d'un programme.
    J'ai testé l'Application Framework et c'est vrai que c'était un gros manque pour Swing... Le beans binding à l'air prometteur, mais un peu trop basé sur les noms des attributs (ce qui implique qu'il n'y a pas de vérification à la compilation, et que cela peut géner la refactorisation...)

    Citation Envoyé par bouye
    -Reified generics : top si ca rapprochera plus le concept des generics de celui des templates.
    Je n'ai pas trop suivi cela et je ne vois pas trop ce que cela apporterais... à voir donc...


    Citation Envoyé par bouye
    Cependant d'apres l'exemple on aura plutot ca :

    Code :
    map := new HashMap<String, Integer>();
    Ce que je trouve TRES TRES etrange
    Je n'aime pas trop cette syntaxe non plus
    Je n'ai pas lu la présentation que tu donnes en lien (les fichiers PPT sont bloqué par le firewall ), mais il me semble qu'il y a eu un grand nombre de proposition pour cela (dont la tienne ).

    Citation Envoyé par bouye
    Et surtout je n'ai toujours rien compris aux closure mis a part que ca me donne mal au crane.
    Il faut le voir comme une autre façon d'écrire des inner-classes, tout en permettant plus d'intéraction avec la méthode appellante (utilisation de variable locale non-final, gestions des exceptions et des interruptions (break/return)).

    Un exemple tout simple avec invokeLater().
    Ceci :
    Code :
    1
    2
    3
    4
    5
    	SwingUtilities.invokeLater(new Runnable() {
    		public void run() {
    			// CODE ICI
    		}
    	});
    Pourrait s'ecrire de la manière suivante :
    Code :
    1
    2
    3
    	SwingUtilities.invokeLater() {
    		// CODE ICI
    	}

    Et cela permettra de se débarrasser de certaine construction un peu trop "lourde", comme par exemple l'utilisation des locks :
    Code :
    1
    2
    3
    4
    5
    6
    	lock.lock();
    	try {
    		// CODE ICI
    	} finally {
    		lock.unlock();
    	}
    Par quelque chose du style :
    Code :
    1
    2
    3
    	Tools.withLock(lock) {
    		// CODE ICI
    	}
    Rien que ca c'est une infime possibilité des closures, mais cela apporterait vraiment beaucoup je pense !


    Perso je suis à fond pour, même s'il est vrai que cela peut devenir assez complexe lorsqu'on rentre dans les détails...

    a++

  5. #5
    Expert Confirmé Sénior
    Avatar de Baptiste Wicht
    Homme Profil pro Baptiste Wicht
    Étudiant
    Inscrit en
    octobre 2005
    Messages
    7 433
    Détails du profil
    Informations personnelles :
    Nom : Homme Baptiste Wicht
    Âge : 26
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : octobre 2005
    Messages : 7 433
    Points : 19 362
    Points
    19 362

    Par défaut

    Citation Envoyé par adiGuba
    Il faut le voir comme une autre façon d'écrire des inner-classes, tout en permettant plus d'intéraction avec la méthode appellante (utilisation de variable locale non-final, gestions des exceptions et des interruptions (break/return)).

    Un exemple tout simple avec invokeLater().
    Ceci :
    Code :
    1
    2
    3
    4
    5
    	SwingUtilities.invokeLater(new Runnable() {
    		public void run() {
    			// CODE ICI
    		}
    	});
    Pourrait s'ecrire de la manière suivante :
    Code :
    1
    2
    3
    	SwingUtilities.invokeLater() {
    		// CODE ICI
    	}
    Personnnellement, j'espère vraiment qu'une telle syntaxe ne va pas être mise en oeuvre... Je ne trouve vraiment pas propre d'insérer du code directement dans une méthode...

    Je préfèrerais plutôt une nouveau type d'objet dans lequel qu'on pourrait initialiser directement avec du code :

    Code :
    1
    2
    3
    4
    SwingUtilities.invokeLater(new JeSaisPasQuoi(){
    	// CODE ICI
    	}
    )
    Mais j'aurais quand même un peu de peine... Ca va quand même à l'encontre de ce qui est fait actuellement.

  6. #6
    Expert Confirmé Sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    avril 2002
    Messages
    13 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : avril 2002
    Messages : 13 196
    Points : 19 130
    Points
    19 130

    Par défaut

    Citation Envoyé par wichtounet
    Personnnellement, j'espère vraiment qu'une telle syntaxe ne va pas être mise en oeuvre... Je ne trouve vraiment pas propre d'insérer du code directement dans une méthode...
    Personnellement cela ne me choque pas... cela se rapproche de ce qui est fait pour les instructions tel que for, while, synchronized...

    Citation Envoyé par wichtounet
    Je préfèrerais plutôt une nouveau type d'objet dans lequel qu'on pourrait initialiser directement avec du code :

    Code :
    1
    2
    3
    4
    SwingUtilities.invokeLater(new JeSaisPasQuoi(){
    	// CODE ICI
    	}
    )
    Il me semble que c'est la proposition de CICE : du sucre syntaxique pour la création de classes anonymes...


    Citation Envoyé par wichtounet
    Mais j'aurais quand même un peu de peine... Ca va quand même à l'encontre de ce qui est fait actuellement.
    Perso je pense que les classes anonymes sont quand même énormément verbeuse et assez limité !


    a++

  7. #7
    Expert Confirmé Sénior
    Avatar de Baptiste Wicht
    Homme Profil pro Baptiste Wicht
    Étudiant
    Inscrit en
    octobre 2005
    Messages
    7 433
    Détails du profil
    Informations personnelles :
    Nom : Homme Baptiste Wicht
    Âge : 26
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : octobre 2005
    Messages : 7 433
    Points : 19 362
    Points
    19 362

    Par défaut

    Citation Envoyé par adiGuba
    Personnellement cela ne me choque pas... cela se rapproche de ce qui est fait pour les instructions tel que for, while, synchronized...
    C'est vrai que c'est déja ce qu'on fait en quelque sorte... Mais personnellement l'histoire du Runnable ne me dérange pas et me suffit tout à fait.

    Mais je n'aime pas vraiment l'idée de mettre directement les {} et insérer du code dedans... Je préférerais les voir représenté par un objet ou un type primitif....

  8. #8
    Expert Confirmé Sénior
    Avatar de christopheJ
    Profil pro
    Inscrit en
    avril 2004
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : avril 2004
    Messages : 1 612
    Points : 7 362
    Points
    7 362

    Par défaut

    Il faut vraiment que je me penche sur les closures (la session de Neal Gafter à JavaOne ne m'a pas convaincu...)
    A priori on perd l'obligation des attributs en final, il y aurait quelques apports par rapport aux possibilités de return et gestion d'exception, mais je n'ai pas tout compris...

    Si après l'argument est de taper moins de code, je ne suis pas d'accord. Les éditeurs, entre la complétion et les templates de code, font beaucoup pour nous.
    Les nouvelles syntaxes ont un aspect "cryptographie" qui ne facilite pas la lecture du code.
    Rédacteur - modérateur Java
    Les FAQ Java
    Les cours et tutoriels Java

  9. #9
    Modérateur
    Avatar de bouye
    Homme Profil pro Fabrice Bouyé
    Développeur Java
    Inscrit en
    août 2005
    Messages
    4 450
    Détails du profil
    Informations personnelles :
    Nom : Homme Fabrice Bouyé
    Âge : 37
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : août 2005
    Messages : 4 450
    Points : 9 127
    Points
    9 127

    Par défaut

    Moi plus je regarde les deux exemples du short instance creation donnes dans la presentation, plus je me dis que ca va etre imbitable pour ceux qui ne passent pas par des IDE pour programmer :

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    map := new HashMap<String, Integer>();
    for (word : args) {
      freq := map.get(word);
      ...
    }
     
    final map := new HashMap<String, Integer>();
    for (final word : args) {
      final freq := map.get(word);
      ...
    }
    La c'est bon car l'exemple est tout petit mais j'imagine mal dans une bonne grosse classe utilitaire contenant des methodes tres longues, un debutant arriver a trouver les types corrects de word et freq ; il faut quand meme remonter a la declaration map pour les en deduire... (une prochaine question piege pour les entretiens d'embauche et les examens de DEUG/license d'informatique ?).

    Passe encore si cette syntaxe n'etait utilisee que pour les operateurs new et foreach mais, l'appel a :
    suggere qu'on aurai plus besoin d'indiquer le type des valeurs retournees par une methode. C'est vrai que d'un cote ca fait (un peu mais pas beaucoup) moins de code a taper, mais deja qu'on a des gens pas f$%#$ de lire la documentation des methodes et classes qu'ils utilisent... ca promet en nouvelles questions absurdes en tout genre... et en prises de tetes (des deux parties) pour arriver a comprendre les codes fournis ou ceux qu'on donnera en solution...
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  10. #10
    Modérateur
    Avatar de sinok
    Profil pro
    Inscrit en
    août 2004
    Messages
    8 756
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : août 2004
    Messages : 8 756
    Points : 11 829
    Points
    11 829

    Par défaut

    Citation Envoyé par bouye
    Passe encore si cette syntaxe n'etait utilisee que pour les operateurs new et foreach mais, l'appel a :
    suggere qu'on aurai plus besoin d'indiquer le type des valeurs retournees par une methode. C'est vrai que d'un cote ca fait (un peu mais pas beaucoup) moins de code a taper, mais deja qu'on a des gens pas f$%#$ de lire la documentation des methodes et classes qu'ils utilisent... ca promet en nouvelles questions absurdes en tout genre... et en prises de tetes (des deux parties) pour arriver a comprendre les codes fournis ou ceux qu'on donnera en solution...
    Mouaip, mais le temps qu'ils comprennent qu'il faut utiliser les dernières versions de java on est tranquile pour un moment (sans parler du jour où ce sera enseigné dans les écoles ^^)

    Enfin coté javaOne ce qui m'intéresse le plus au final pour le moment, c'est la promesse d'un temps de hargement de la JVM éventuellement réduit en passant par la Consumer JRE.

    Bon ensuite j'ai pas eu le temps de tout suivre, mais l'appli semi web créée par l'équipe de Swingx avait l'air sympa (bon ensuite à utiliser les applets c'est toujours aussi lourd, vivement que çà change).

    Enfin ce que j'attends avant tout ce sont les slides et vidéos des différentes sessions, c'est là qu'il y a le plus à apprendre, découvrir et ainsi de suite...
    De ce point de vue là javaOne est une des principales mines d'infos, et à mon sens c'en est le plus intéressant (plutôt que les déclaration clinquantes à la javaFX, les closures et ainsi de suite).


    Donc les slides, les slides, les slides
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  11. #11
    Expert Confirmé Sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    avril 2002
    Messages
    13 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : avril 2002
    Messages : 13 196
    Points : 19 130
    Points
    19 130

    Par défaut

    Autant je ne suis pas d'accord avec vous sur les closures (c'est un "must-have" à mon avis ), autant je dois dire que ces "short instance creation" ne me branche guère...

    En fait je me contenterais largement de la proposition de bouye (supprimer les Generics lorsqu'ils sont identique) :
    Code :
    Map<String, Integer> map = new HashMap();
    a++

  12. #12
    Membre confirmé
    Inscrit en
    mai 2007
    Messages
    241
    Détails du profil
    Informations forums :
    Inscription : mai 2007
    Messages : 241
    Points : 268
    Points
    268

    Par défaut

    mon passé sur des technologies concurrentes me pousse à proposer une instantiation-déclaration tout en un:
    Code :
    1
    2
     
    new HashMap<String, Integer>() map ;
    Certes on ne type pas en Map, mais on n'écrit qu'une seule fois HashMap, et on évite la création d'un nouveau keyword ":=" au langage Java.

    Quand à l'appel de freq := map.get(word);
    je ne le trouve pas nécessaire non plus, étant donnée que les IDE sont capable des déclarer la variable du bon type tout seul.

  13. #13
    Expert Confirmé Sénior
    Avatar de christopheJ
    Profil pro
    Inscrit en
    avril 2004
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : avril 2004
    Messages : 1 612
    Points : 7 362
    Points
    7 362

    Par défaut

    Citation Envoyé par sinok
    Donc les slides, les slides, les slides
    Voir sur mon blog pour les liens

    Citation Envoyé par adiGuba
    Autant je ne suis pas d'accord avec vous sur les closures (c'est un "must-have" à mon avis ),
    La présentation de Neal Gafter sur les closures commence avec un truc du genre :
    Dans 30 ans on rigolera des gens voulant faire une langage sans closures, comme on rigole maintenant des gens voulant faire un langage sans récursivité
    Rédacteur - modérateur Java
    Les FAQ Java
    Les cours et tutoriels Java

  14. #14
    Modérateur
    Avatar de sinok
    Profil pro
    Inscrit en
    août 2004
    Messages
    8 756
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : août 2004
    Messages : 8 756
    Points : 11 829
    Points
    11 829

    Par défaut

    Citation Envoyé par christopheJ
    Voir sur mon blog pour les liens
    M'suis déjà fait plaisir, j'ai attaqué par la partie desktop cet aprem (bon au taf ça va pas franchement vite pour lire des slides, donc pas franchement sympa) et ce soir
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  15. #15
    Membre Expert Avatar de gifffftane
    Profil pro
    Inscrit en
    février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : février 2007
    Messages : 2 354
    Points : 2 337
    Points
    2 337

    Par défaut

    Je signale qu'au niveau des génériques, le problème d'avoir à répéter 50 fois le paramètre n'est qu'un problème d'API ; on peut parfaitement l'éviter (je veux dire le résoudre), du moins dans les classes génériques que l'on crée soit même ; le HashMap est donc mal fait, c'est tout.

    Ainsi, pour une classe générique Gener<T> donnée, on peut parfaitement écrire :
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
      public void toto()
      {
        Gener<String> gen1;
        Gener<Integer> gen2;
     
        gen1 = Gener.nouvelle();
        gen2 = Gener.nouvelle();
      }
    ... vous voyez que je ne donne qu'une fois le type paramètre.

    Et voici la méthode nouvelle dans la classe Gener<T> :
    Code :
    1
    2
    3
    4
    5
     
      public static <P> Gener<P> nouvelle()
      {
        return new Gener<P>();
      }
    ... vous voyez qu'elle reste parfaitement... générique.

    Bon, certes, on peut chipoter de ce que je re-écris trois fois le terme <P>...

  16. #16
    Expert Confirmé Sénior
    Avatar de Baptiste Wicht
    Homme Profil pro Baptiste Wicht
    Étudiant
    Inscrit en
    octobre 2005
    Messages
    7 433
    Détails du profil
    Informations personnelles :
    Nom : Homme Baptiste Wicht
    Âge : 26
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : octobre 2005
    Messages : 7 433
    Points : 19 362
    Points
    19 362

    Par défaut

    Citation Envoyé par christopheJ
    Voir sur mon blog pour les liens
    Erf... Ils ont enlevé les slides pendant la nuit

  17. #17
    Membre chevronné Avatar de remika
    Inscrit en
    septembre 2004
    Messages
    806
    Détails du profil
    Informations personnelles :
    Âge : 30

    Informations forums :
    Inscription : septembre 2004
    Messages : 806
    Points : 745
    Points
    745
    Ignorer c'est aussi croire que l'on sait.
    Merci d'essayer d'écrire correctement.
    Pas de questions techniques par MP SVP.

  18. #18
    Expert Confirmé Sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    avril 2002
    Messages
    13 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : avril 2002
    Messages : 13 196
    Points : 19 130
    Points
    19 130

    Par défaut

    Citation Envoyé par remika
    Il ne s'agit pas d'une présentation de JavaOne, mais de St Louis Code Camp (mais cela n'enlève rien à sont intérêt )

    Au passage l'auteur maintient une page recensant les propositions de Java 7 : http://tech.puredanger.com/java7

    a++

  19. #19
    Membre chevronné Avatar de remika
    Inscrit en
    septembre 2004
    Messages
    806
    Détails du profil
    Informations personnelles :
    Âge : 30

    Informations forums :
    Inscription : septembre 2004
    Messages : 806
    Points : 745
    Points
    745

    Par défaut

    Effectivement

    Pas très réveillé moi ce matin...
    Ignorer c'est aussi croire que l'on sait.
    Merci d'essayer d'écrire correctement.
    Pas de questions techniques par MP SVP.

  20. #20
    Expert Confirmé Sénior
    Avatar de Baptiste Wicht
    Homme Profil pro Baptiste Wicht
    Étudiant
    Inscrit en
    octobre 2005
    Messages
    7 433
    Détails du profil
    Informations personnelles :
    Nom : Homme Baptiste Wicht
    Âge : 26
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : octobre 2005
    Messages : 7 433
    Points : 19 362
    Points
    19 362

    Par défaut

    Citation Envoyé par remika
    Bien que n'ayant rien à voir avec JavaOne, ca reste très intéressant

    Très intéressant aussi ton site Adiguba

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •