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 :

[conversion][boolean]


Sujet :

Langage Java

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2004
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 19
    Points : 16
    Points
    16
    Par défaut [conversion][boolean]
    Est-ce qu'il existe une correspondance entre une variable de type Object et une de type boolean?
    Est-ce qu'un transtypage es tpossible?
    Ou est-ce qu'il existe une méthode (comme toString pour les String) par exemple pour qu'un object repasse en boolean?

  2. #2
    Membre habitué Avatar de phoebe
    Inscrit en
    Août 2003
    Messages
    289
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 289
    Points : 143
    Points
    143
    Par défaut
    que veux tu faire exactement ? explique nous pour que l'on puisse te répondre précisément.
    sache toutefois qu'il existe un type primitif boolean et une classe Boolean

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 80
    Points : 67
    Points
    67
    Par défaut
    peut etre pas boolean mais pluto Boolean
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Object montruc=true;
    boolean monBool = (Boolean)montruc.booleanValue();
    AMD Athlon XP2800+ Barton
    Carte mère MSI K7N2 Delta-L
    CG MSI Radeon RX9800Pro TD-128
    1go DDR2700 Samsung

    Windows XP SP1

  4. #4
    Membre à l'essai
    Inscrit en
    Avril 2004
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 19
    Points : 16
    Points
    16
    Par défaut
    en fait je recupère dans ma base de données un boolean mais lorsque l'on réalise cette opération on recupère en fait un object et moi j'ai besoin du boolean

  5. #5
    Membre habitué Avatar de phoebe
    Inscrit en
    Août 2003
    Messages
    289
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 289
    Points : 143
    Points
    143
    Par défaut
    le code d'Erok est parfait, tu as juste à l'appliquer.

    pense au tag Résolu

  6. #6
    Membre expérimenté Avatar de yann2
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

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

    Informations forums :
    Inscription : Mai 2004
    Messages : 897
    Points : 1 635
    Points
    1 635
    Par défaut
    Attention, le code d'Erok comporte sûrement une erreur d'étourderie

    le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    boolean bool = ((Boolean)monTruc).booleanValue();
    marchera mieux.

    bon courage

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 80
    Points : 67
    Points
    67
    Par défaut
    en effet...*etourdi*
    AMD Athlon XP2800+ Barton
    Carte mère MSI K7N2 Delta-L
    CG MSI Radeon RX9800Pro TD-128
    1go DDR2700 Samsung

    Windows XP SP1

  8. #8
    Membre à l'essai
    Inscrit en
    Avril 2004
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 19
    Points : 16
    Points
    16
    Par défaut
    ok merci sinon on pe faire comme ca mé bon c pa super
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    	public boolean getMSaffiche() 
    	{
    		String s = new String();
    		s = (String)mSaffiche;
    		boolean monBool = Boolean.getBoolean(s); 
    		System.out.println("MONBOOL = "+monBool);
    		return monBool;
    	}

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 80
    Points : 67
    Points
    67
    Par défaut
    ca revient au meme je pense non?
    Quel est le + rapide a l'execution?
    AMD Athlon XP2800+ Barton
    Carte mère MSI K7N2 Delta-L
    CG MSI Radeon RX9800Pro TD-128
    1go DDR2700 Samsung

    Windows XP SP1

  10. #10
    Membre éprouvé
    Profil pro
    Architecte technique
    Inscrit en
    Mars 2002
    Messages
    966
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Mars 2002
    Messages : 966
    Points : 1 085
    Points
    1 085
    Par défaut
    le plus rapide c'est de faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public boolean getMSaffiche() 
    { 
      boolean monBool = ((Boolean)monTruc).booleanValue();
      return monBool; 
    }
    clairement, parceque dans le cas contraire tu créé deux objets supplémentaires !!! donc du temps d'accès mémoire.

    Sinon ça sers à rien de créer une chaîne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String s = new String(); // création d'un pointeur mémoire
    et de faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    s = (String) mSaffiche; // tu re-écrase le pointeur créer précédemment par une nouvelle référence..
    il faut faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String s = (String) mSaffiche;
    Effectivement entre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public boolean getMSaffiche() 
    { 
      return Boolean.getBoolean((String) mSaffiche);
    }
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public boolean getMSaffiche() 
    { 
      return ((Boolean) monTruc).booleanValue();
    }
    mon coeur balance ...

  11. #11
    Membre confirmé

    Inscrit en
    Juillet 2002
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 116
    Points : 514
    Points
    514
    Par défaut
    Si la donnée est déclaré dans la base de donnée comme un boolean (BOOL , BIT, ...) le driver JBDC convertira la valeur obtenue par la BD en object Boolean ...

    Avec la méthode de Erok, tu convertis ton object Boolean en type primitif boolean ( dont le coup est trés négligeable car dans l'object Boolean est stocké ce type primitif donc la conversion consiste uniquement en un retour de valeur ) ...

    Avec la deuxiéme méthode, on convertis l'objet Boolean en String ( c'est à dire "true" ou "false" ) puis on parse cet String pour obtenir le boolean primitif donc la conversion est bien plus couteuse car l'étape de la String n'est pas réellement nécessaire et a un cout ...

    Maintenant cela dépends comment est déclaré la valeur dans la base de donnée car si ta valeur booléenne est représentée par un entier (INT) ou une chaine de caractére (VARCHAR), l'optimisation sera différente ...

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

Discussions similaires

  1. conversion d'un BDnull en boolean
    Par cyriane dans le forum VB.NET
    Réponses: 1
    Dernier message: 06/06/2012, 11h14
  2. Réponses: 17
    Dernier message: 11/04/2011, 08h55
  3. Réponses: 13
    Dernier message: 02/11/2010, 16h03
  4. Conversion d'un string vers un boolean
    Par projetM dans le forum Développement de jobs
    Réponses: 10
    Dernier message: 26/11/2008, 15h30
  5. Conversion en boolean ?
    Par devoluti0n dans le forum Delphi
    Réponses: 7
    Dernier message: 23/04/2007, 23h26

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