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

 Java Discussion :

Déclarer un constante de type String


Sujet :

Java

  1. #1
    Membre extrêmement actif
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 022
    Par défaut Déclarer un constante de type String
    J'ai codé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    static final IState INVOKE.toString() = "un";
    et le compilateur me refuse le point

  2. #2
    Rédacteur

    Avatar de autran
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2015
    Messages
    1 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2015
    Messages : 1 241
    Billets dans le blog
    55
    Par défaut
    Mais tu veux faire quoi avec ton IState ? il vient de quel package ? Android ?
    En plus ton affectation est une abomination car tu mets à gauche du symbole "=" l'invocation d'une méthode ..... ca n'a pas de sens
    Et je ne connais pas l'objet INVOKE ????????
    Développeur Java
    Site Web

  3. #3
    Membre extrêmement actif
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 022
    Par défaut IState
    IState est un objet qui représente un état sur un modèle
    INVOKE est une constante qui dit qu'on doit se raccorder à cet état
    toString() est une méthode qui dit que on doit prendre la chaîne comme non de l'état
    pour mieux parler de ce problème, je met du code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    	static final IState INVOKE.toString() = "un";
    	private static final IDiagramFactory FACTORY = IDiagramFactory.eINSTANCE;
    	private static ArrayList<String> listUniversSousChaine = null;

  4. #4
    Rédacteur

    Avatar de autran
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2015
    Messages
    1 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2015
    Messages : 1 241
    Billets dans le blog
    55
    Par défaut
    oui mais n'est pas un nom de variable
    et IState appartient a quel package ? pareil pour INVOKE ????
    Développeur Java
    Site Web

  5. #5
    Membre extrêmement actif
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 022
    Par défaut IState
    com.all4tec.matelo.datamodel.diagram.IState


    A representation of the model object ' State'.

    The following features are supported:

    Incoming Transitions
    Outgoing Transitions

  6. #6
    Rédacteur

    Avatar de autran
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2015
    Messages
    1 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2015
    Messages : 1 241
    Billets dans le blog
    55
    Par défaut
    ok mais INVOKE.toString() n'est pas une variable, donc ca bug point barre

    et ou on trouve le code source ou la doc de matelo ?
    je suis pas officier de marine moi
    Développeur Java
    Site Web

  7. #7
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    static final IState INVOKE.toString() = "un";
    N'a effectivement aucun sens en Java : c'est un mélange abscons entre 3 choses incompatibles :

    • static final IState est la déclaration d'une variable static final (habituellement appelée constante) de type IState.
      Déjà, lorsqu'on déclare une variable, on lui donne obligatoirement un nom, et ce nom ne peut être en aucun cas un statement (expression Java, telle qu'un appel de méthode dans ton cas), et pas plus un litéral (de type String dans ton cas ("un")), encore moins un mélange des deux ;
      static final IState MACONSTANTE; où MACONSTANTE est le nom de la variable.
      Ensuite il faut absolument lui donner une valeur, de type compatible (donc IState), vu qu'elle est déclarée final. On n'est pas obligé de lui donner une valeur directement dans la déclaration comme ça :
      static final IState MACONSTANTE = IState.INVOKE;On peut lui donner une valeur dans un bloc static.
    • INVOKE.toString() est l'appel d'une méthode sur ce qu'il semble être valeur d'enum. Le seul cas où l'on peut omettre le nom de l'enum, c'est dans un switch. Dans tous les autres cas, il faudra mettre le nom de l'enum : IState.INVOKE.toString()
    • = "un" : une affectation. En aucun cas, on ne peut affecter à un appel de méthode une valeur, constante, litérale ou autre (résultat d'un appel de méthode sur une instance d'objet). Un appel de méthode retourne soit une valeur (typée), soit rien. Jamais quelque chose auquel on pourrait affecter une valeur (comme une variable par exemple).


    Le mélange de ces trois expressions totalement incompatibles ne permet pas de déduire ce que tu cherches à faire au juste.

    • Une déclaration de constante de type IState : static final IState MACONSTANTE = IState.INVOKE;
    • Une déclaration de constante de type String avec un litéral de type String : static final String MACONSTANTE = "un";
    • Une déclaration de constante de type String dont la valeur est le nom d'une valeur d'enum : static final String MACONSTANTE = IState.INVOKE.name(); ou, à la rigueur, static final String MACONSTANTE = IState.INVOKE.toString();
    • ... ?
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  8. #8
    Membre extrêmement actif
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 022
    Par défaut monbesoin
    J'ai besoin de déclarer une constante et de l'initialiser par autre chose que null

  9. #9
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par JeanNoel53 Voir le message
    J'ai besoin de déclarer une constante et de l'initialiser par autre chose que null
    Certes, mais de quel type la constante ? Et quelle valeur autre que null ? Des questions qu'il faut que tu te poses pour déclarer une constante, et seules des réponses à ces questions nous permettront de te guider.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  10. #10
    Membre extrêmement actif
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 022
    Par défaut
    la constante doit être de type IState
    la valeur peut être soit 1 soit "un"

  11. #11
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Si la constante est de type IState, sa valeur ne peut être que du type IState (ou d'une classe qui étendrait IState, le cas échéant). 1 est un int, donc certainement pas un IState et "un" est un String, donc certainement pas un IState.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  12. #12
    Membre extrêmement actif
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 022
    Par défaut Oui mais
    Comment s'en sortir?

  13. #13
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Mais qu'est ce que tu cherches à faire au juste, en français, avec tes mots à toi. Parce qu'il n'y a pas à tortiller : en Java, tu ne mettras jamais 1 ou "un" dans une variable de type IState, quoique peut être la définition de cette classe.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  14. #14
    Membre extrêmement actif
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 022
    Par défaut Pour s'en sortir
    J'ai coupé l'instruction en deux;
    La Déclaration:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    static final IState INVOKE = null;
    et l'initialisation:

  15. #15
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Ok, tu dois déclarer une constante de type IState qui s'appelle INVOKE et qui a des propriétés particulières (en l’occurrence une propriété name qui vaudrait "un").

    Déjà, faire, d'une part :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    static final IState INVOKE = null;
    et d'autre
    te causera évidemment une NullPointerException, puisque INVOKE est null. Je ne sais pas pourquoi tu n'expliques pas ce que tu cherches à faire au lieu d'essayer de taper n'importe quoi dans l'espoir que ça fonctionne et que ça résolve ton problème


    Déjà, première question : y-a-t'il pas moyen de passer la valeur de cette propriété en argument du constructeur ? Genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    static final IState INVOKE = new IState("un");
    Ensuite, habituellement, par convention, une classe qui s'appelle Ixxx est une interface. N'est-ce pas le cas, ou est-ce une classe ? Si ce n'est pas une classe, tu ne pourras évidemment pas l'instancier en faisant new IState()...


    Tu peux faire comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public class LaClasseJeSaisPasQuoi {
     
       static final IState INVOKE;
     
       // bloc statique d'initialisation
       static {
          INVOKE = new IState(); // en supposant que le constructeur n'a pas d'argument
          INVOKE.setName("un");
      }
     
    }
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

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

Discussions similaires

  1. [Toutes versions] Déclarer une constante de type personnalisée
    Par leDelb dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 05/07/2010, 09h39
  2. Convertir une date en type string
    Par ziboux dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 29/10/2003, 10h52
  3. [VB6] creation de variable de type string dynamiquement
    Par da40 dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 12/06/2003, 16h59
  4. [ADO] Constantes des types de champ
    Par SpaceFrog dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 05/09/2002, 11h08
  5. Réponses: 2
    Dernier message: 05/06/2002, 12h29

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