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

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

Rendre compatible du code 5.0 pour 1.4


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 88
    Par défaut Rendre compatible du code 5.0 pour 1.4
    Bonjour,

    J'ai actuellement une application Web compilée pour le jdk 5.x !
    Sauf que je dois la déployer sur un environnement qui utilise un jdk 1.4x ... la bonne blague.

    Donc j'ai commencé à réecrire l'application là où ca ne passe pas mais je vois que l'auto boxing (si je me souviens bien du terme) n'est pas geré sous 1.4.

    Donc je n'arrive pas à réecrire de manière simple une ligne de ce type :

    anneeVente = anneePlantation + (articleVO.getDureeFpa() / 12 );
    Pour laquelle anneeVente, anneePlantation et articleVO.getDureeFpa() sont des java.lang.Integer.

    La compilation me renvoie ces erreurs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    CoeffProductionServiceImpl.java:48: operator / 
    cannot be applied to java.lang.Integer,int                                                                                                            
                    anneeVente = anneePlantation + (articleVO.getDureeFpa() / 12 );                                                                       
                                                                            ^                                                                             
    CoeffProductionServiceImpl.java:48: operator + 
    cannot be applied to java.lang.Integer,<any>                                                                                                          
                    anneeVente = anneePlantation + (articleVO.getDureeFpa() / 12 );                                                                       
                                 ^
    Toute aide est la bienvenue

    Merci !

  2. #2
    Expert confirmé
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Par défaut
    C'est normal, tu ne peut employer l'opérateur + que sur des types primitifs. En Java 5.0, il y a l'autoboxing qui permet de transformer directement les types enveloppes en types primitifs, mais ce n'est pas le cas avant.

    Il faut donc employer intValue() sur tes objets integers pour pouvoir utiliser l'opérateur +

    Il faut juste faire attention qu'il ne soient pas null, sinon ça lève une exception.

    Ca donnerait donc quelque chose dans ce gout-là :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    anneeVente = new Integer(anneePlantation.intValue() + (articleVO.getDureeFpa().intValue() / 12 ));

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 88
    Par défaut
    Ok je te remercie pour cette réponse simple et rapide

    Dommage, je commençais à prendre goût au code pas 'trop' surchargé

  4. #4
    Membre émérite
    Avatar de sironimo
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 669
    Par défaut
    oui mais bon faut pas s'habituer aux bonnes choses. Je trouve ça mieux de le faire à la main personnellement.

  5. #5
    Expert confirmé
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Par défaut
    Citation Envoyé par sironimo
    oui mais bon faut pas s'habituer aux bonnes choses. Je trouve ça mieux de le faire à la main personnellement.
    Ben, personnellement, je trouve que dès que le compilo fait ça lui-même, c'est dommage de ne pas en profiter...

    C'est comme les generics, c'est aussi purement du sucre syntaxique, mais c'est néanmoins très pratique et je ne m'en lasse pas. Je m'amuserais plus maintenant à faire tous les catchs à la main, c'est pareil pour l'autoboxing.

  6. #6
    Membre émérite
    Avatar de sironimo
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 669
    Par défaut
    Je suis tout à fait d'accord mais je trouve aussi que d'augmenter l'abstraction ça peut des fois gêner à une vraie compréhension des mécanismes. Enfin, c'est mon avis mais je fais le chieur car j'utilise aussi allègrement l'autoboxing mais je trouve ça aussi important de saisir certains mécanismes et savoir différencier les types primitifs en fait partie du moins lors de l'apprentissage.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 10/08/2011, 11h16
  2. [Joomla!] Modifier un composant perso 1.5 pour le rendre compatible 1.0.15
    Par tentsuken dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 0
    Dernier message: 16/11/2010, 09h22
  3. Réponses: 0
    Dernier message: 07/07/2010, 10h20
  4. [XHTML] Rendre compatible IE un code xHtml
    Par will74 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 29/11/2007, 14h39
  5. [Revue de code] Quels outils pour de grosses applis?
    Par franckR dans le forum Choisir un environnement de développement
    Réponses: 1
    Dernier message: 21/03/2004, 10h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo