Publicité

Affichage des résultats du sondage: Êtes-vous pour ou contre cette proposition ?

Votants
471. Vous ne pouvez pas participer à ce sondage.
  • Pour

    404 85,77%
  • Contre

    67 14,23%
+ Répondre à la discussion
Page 1 sur 9 12345 ... DernièreDernière
Affichage des résultats 1 à 20 sur 166
  1. #1
    Expert Confirmé Sénior

    Inscrit en
    mai 2003
    Messages
    3 283
    Détails du profil
    Informations forums :
    Inscription : mai 2003
    Messages : 3 283
    Points : 9 776
    Points
    9 776

    Par défaut JDK 7: Proposition 4 : possibilité d'utiliser les String dans les switch case -> Intégrée

    Aujourd'hui :

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    static boolean booleanFromString(String s) {
        if (s.equals("true")) {
            return true;
        } else if (s.equals("false")) {
            return false;
        } else {
            throw new IllegalArgumentException(s);
        }
    }
    Demain :

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    static boolean booleanFromString(String s) {
        switch(s) {
          case "true":
            return true;
          case "false":
            return false;
          default:
            throw new IllegalArgumentException(s);
        }
    }
    Vincent Brabant

    Ne pas me contacter par MP ni par mail pour des questions techniques. Ma liste d'amis restera vide.

  2. #2
    Membre éclairé Avatar de gronono
    Inscrit en
    novembre 2003
    Messages
    452
    Détails du profil
    Informations personnelles :
    Âge : 32

    Informations forums :
    Inscription : novembre 2003
    Messages : 452
    Points : 396
    Points
    396

    Par défaut

    Bonjour,

    Voila une nouveauté qui serait vraiment utile.

    Je suis à 100% pour.

    Fini les if, else if, if à rallonge. Les cases apportent beaucoup de clarté au code. Donc il est + maintenable.

    A+
    Gronono

  3. #3
    Membre Expert Avatar de yann2
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    mai 2004
    Messages
    806
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : mai 2004
    Messages : 806
    Points : 1 180
    Points
    1 180

    Par défaut

    Bonsoir

    J'ai voté pour mais j'ai quand même une petite question. Est ce que cette fonctionnalité inclue le fait de pouvoir comparer les chaines avec l'opérateur == en toute tranquillité ?

    Merci

    [edit]
    du coup ça me fait penser à une autre fonctionnalité qui peut être cool:
    utiliser les opérateurs <, >, <=, >= (pas le == évidemment) sur des objets de type Comparable appelle automatiquement la méthode compareTo... je suis trop gourmand ? Il faudrait voir si cette question n'est pas mieux dans la proposition 3.
    [/edit]

    Yann

  4. #4
    Membre confirmé
    Inscrit en
    septembre 2007
    Messages
    282
    Détails du profil
    Informations forums :
    Inscription : septembre 2007
    Messages : 282
    Points : 282
    Points
    282

    Par défaut

    Pour à 200%, j'ai toujours trouvé que le switch sur String était un manque dans de nombreux langages.

  5. #5
    Membre du Club
    Inscrit en
    août 2004
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : août 2004
    Messages : 171
    Points : 62
    Points
    62

    Par défaut

    J'ai voté pour, mais finalement apres reflexion cela ne serait plus cohérent par rapport a l'opérateur == comme disait "yann2".
    Cela reviendrais a dire que le type String est un type primitif.

    Plutot contre en faite (mince je lui premier)

  6. #6
    Expert Confirmé Sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    avril 2002
    Messages
    13 268
    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 268
    Points : 19 338
    Points
    19 338

    Par défaut

    Citation Envoyé par metalpetsFR Voir le message
    Cela reviendrais a dire que le type String est un type primitif.
    String est quand même un type bien particulier

    a++

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    décembre 2004
    Messages
    667
    Détails du profil
    Informations personnelles :
    Âge : 31
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : décembre 2004
    Messages : 667
    Points : 296
    Points
    296

    Par défaut

    Je ne vois pas en quoi le case changerais le s.equals(string) !!!

    En tout cas je suis pour à 100%, je trouve que c'est un manque dans certain cas.

  8. #8
    Membre émérite
    Avatar de n!co
    Inscrit en
    février 2004
    Messages
    831
    Détails du profil
    Informations personnelles :
    Âge : 32

    Informations forums :
    Inscription : février 2004
    Messages : 831
    Points : 824
    Points
    824

    Par défaut

    Moi je ne suis pas pour !

    C'est pratique quand tu fais du php, mais en java ca fait grado.
    Vu que les string seront de toute facon en dur dans les cases, il est plus préférable de porter l'utilisation des Enumérations dans ce cas.
    Netbeans account : nico@share.java.net
    Merci de ne pas poser de questions techniques par MP

  9. #9
    Membre confirmé Avatar de bobuse
    Inscrit en
    janvier 2005
    Messages
    229
    Détails du profil
    Informations forums :
    Inscription : janvier 2005
    Messages : 229
    Points : 225
    Points
    225

    Par défaut

    Je trouve ça effectivement joli et séduisant. mais comme dit n!co, un switch de String reste de toutes façons crado.
    Et vu qu'il a beaucoup de propositions de sucre syntaxique, je ne veux pas qu'il y en ait trop, au risque de compliquer le langage.

  10. #10
    Rédacteur/Modérateur
    Avatar de romaintaz
    Homme Profil pro Romain Linsolas
    Java craftsman
    Inscrit en
    juillet 2005
    Messages
    3 746
    Détails du profil
    Informations personnelles :
    Nom : Homme Romain Linsolas
    Âge : 36
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : juillet 2005
    Messages : 3 746
    Points : 6 697
    Points
    6 697

    Par défaut

    Je suis pour, je trouve que ça peut simplifier le code, sans mettre trop de complexité...

    Quant au fait de pouvoir utiliser le switch en utilisant le ==, je ne sais pas trop comment cela se matérialiserait du point de vue écriture du code java...
    A ce niveau là, aussi pourquoi ne pas proposer une comparaison des Strings en ignorant la casse (en gros, que l'on puisse utiliser le equalsIgnoreCase("") au lieu de equals("") ) ?
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  11. #11
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    novembre 2006
    Messages
    5 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : novembre 2006
    Messages : 5 610
    Points : 6 237
    Points
    6 237

    Par défaut

    Je ne dirais qu'une chose : ENFIN !

  12. #12
    Rédacteur/Modérateur
    Avatar de romaintaz
    Homme Profil pro Romain Linsolas
    Java craftsman
    Inscrit en
    juillet 2005
    Messages
    3 746
    Détails du profil
    Informations personnelles :
    Nom : Homme Romain Linsolas
    Âge : 36
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : juillet 2005
    Messages : 3 746
    Points : 6 697
    Points
    6 697

    Par défaut

    D'accord et pas d'accord avec n!co.
    Je ne vois pas trop pourquoi un switch sur les String serait plus crados qu'un enchaînement (lourd à digérer) de if - else...
    Mais je suis super pour qu'on étende aussi les switches aux Enumérations !

    J'aimerais bien pouvoir faire

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
     
    switch (saison) {
        case SUMMER:
            ...
        case WINTER:
            ...
        ...
    }
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  13. #13
    Expert Confirmé Sénior
    Avatar de elitost
    Homme Profil pro Eric REBOISSON
    Consultant informatique
    Inscrit en
    septembre 2003
    Messages
    1 986
    Détails du profil
    Informations personnelles :
    Nom : Homme Eric REBOISSON
    Âge : 37
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : septembre 2003
    Messages : 1 986
    Points : 6 245
    Points
    6 245

    Par défaut

    +1
    Ce serait bien pratique.

  14. #14
    Membre expérimenté Avatar de bassim
    Homme Profil pro
    Ingénieur Réseaux
    Inscrit en
    février 2005
    Messages
    657
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : février 2005
    Messages : 657
    Points : 533
    Points
    533

    Par défaut

    Citation Envoyé par romaintaz Voir le message
    D'accord et pas d'accord avec n!co.
    Je ne vois pas trop pourquoi un switch sur les String serait plus crados qu'un enchaînement (lourd à digérer) de if - else...
    Mais je suis super pour qu'on étende aussi les switches aux Enumérations !

    J'aimerais bien pouvoir faire

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
     
    switch (saison) {
        case SUMMER:
            ...
        case WINTER:
            ...
        ...
    }
    Ca c'est deja faisable enums

    c'est vrai qu'un switch avec des Strings peut être fait avec des enums !

  15. #15
    Membre confirmé Avatar de bobuse
    Inscrit en
    janvier 2005
    Messages
    229
    Détails du profil
    Informations forums :
    Inscription : janvier 2005
    Messages : 229
    Points : 225
    Points
    225

    Par défaut

    Citation Envoyé par romaintaz Voir le message
    D'accord et pas d'accord avec n!co.
    Je ne vois pas trop pourquoi un switch sur les String serait plus crados qu'un enchaînement (lourd à digérer) de if - else...
    En fait, si n!co pense bien comme moi, ce n'est pas que le switch serait plus crado que des if/then/else, mais que c'est le fait d'utiliser des String pour conditionner des actions qui est crado. Il vaut mieux effectivement utiliser des enums

  16. #16
    Nouveau Membre du Club
    Profil pro
    Inscrit en
    janvier 2007
    Messages
    68
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : Belgique

    Informations forums :
    Inscription : janvier 2007
    Messages : 68
    Points : 33
    Points
    33

    Par défaut Pour. Mais il faut creuser plus loin...

    Je suis pour mais je serais d'avis de ne pas seulement se limiter au type String. Pourquoi ne pas aller plus loin et permettre un switch qui pourrait comparer des objets identiques.

    On pourrait comparer des String, des BigDecimals mais également des classes que nous avons développé nous-mêmes.

  17. #17
    Rédacteur
    Avatar de Hikage
    Inscrit en
    mai 2004
    Messages
    1 190
    Détails du profil
    Informations personnelles :
    Âge : 30

    Informations forums :
    Inscription : mai 2004
    Messages : 1 190
    Points : 5 293
    Points
    5 293

    Par défaut

    Pour, ca permet de faire des switch a la place de if else à la chaine.
    Hikage
    SCJP / SCWCD & SCWSJD Certified / Spring Framework Certified
    [Personal Web] [CV]

    F.A.Q Spring Framework - Participez !

  18. #18
    Rédacteur
    Avatar de bulbo
    Homme Profil pro
    Consultant informatique
    Inscrit en
    février 2004
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : février 2004
    Messages : 1 259
    Points : 1 777
    Points
    1 777

    Par défaut

    Contre,

    Les enums apportent déjà cette possibilité, quand j'ai des constantes String je les déclare toujours en constante java (static final ou enum) ce qui évite les fautes de frappes accidentelles si je dois les utiliser a plusieurs endroits.

    Quand au == entre string je vois pas trop ce que ça apporte de toute façon, il faudrait quand même que certains se fassent au fait que Java est objet.
    S'il veulent de la surcharge d'opérateurs ils ont qu'a essayer C++, on les reverra vite parmi nous une fois qu'ils auront réalisé l'avantage de la chose et les multiples danger que ça introduit.

    Bulbo
    [Java] [NetBeans] [CVS]
    La FAQ Java
    Merci de ne pas me poser de questions techniques par MP.

  19. #19
    Membre expérimenté Avatar de bassim
    Homme Profil pro
    Ingénieur Réseaux
    Inscrit en
    février 2005
    Messages
    657
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : février 2005
    Messages : 657
    Points : 533
    Points
    533

    Par défaut

    J'ai voté pour,
    mais si on utilisait les enums, le refactoring serait possible alors qu'avec cette solution très élégante ,non !

    Hors sujet: pourquoi on débattrait pas des superpackages
    il me semble que cette proposition est plus interressente que toutes les autres

  20. #20
    Expert Confirmé Sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    avril 2002
    Messages
    13 268
    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 268
    Points : 19 338
    Points
    19 338

    Par défaut

    Citation Envoyé par bassim Voir le message
    Hors sujet: pourquoi on débattrait pas des superpackages
    il me semble que cette proposition est plus interressente que toutes les autres
    Les superpackages sont déjà à un stade avancé et possède déjà leurs JSR... ils devraient donc bien faire partie de Java 7.

    Ce n'est pas le cas de ces propositions

    a++

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
  •