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

NetBeans Java Discussion :

Comparaison entre un String et un élément d'un Combo


Sujet :

NetBeans Java

  1. #1
    Débutant  
    Inscrit en
    Mai 2006
    Messages
    705
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 705
    Points : 117
    Points
    117
    Par défaut Comparaison entre un String et un élément d'un Combo
    Salut à tous,
    J'ai un combobox rempli par un ensemble de choix, et je veut comparer le choix de l'utilisateur par un String "tous" (qui représente le premier choix dans ma combo ...)
    Voiçi le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if (list_prd.getSelectedItem().toString() != "tous")
              {
               if ( type_prd.getSelectedItem().toString() != "tous" )
    Le problème içi, c'est que la comparaison ne se fait pas et si l'utilisateur n'a iren choisi(et par la suite son choix va être égale à "tous"), le compliateur entre quand même dans l'exécution du bloc qui suit les 2 conditions ...
    Remarque: dans l'éditeur NetBeans, j'ai 2 warning devant chaque ligne :
    Comparing Strings using == or != )

    Est ce que vous savez ce que je dois faire pour règler ce problème.
    Merci d'avance ...

  2. #2
    Expert confirmé
    Avatar de Valère
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 334
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Août 2005
    Messages : 1 334
    Points : 4 740
    Points
    4 740
    Par défaut
    Bonjour,

    Attention avec la commande == pour comparer des chaines!

    Voir la FAQ pour davantage d'explications.

    Valère
    Pensez au bouton
    Je ne répond pas aux questions techniques par email ou MP.

  3. #3
    Membre actif Avatar de kalina
    Femme Profil pro
    Développeur Java
    Inscrit en
    Avril 2009
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2009
    Messages : 220
    Points : 293
    Points
    293
    Par défaut comparaison de chaînes
    salut,
    essais d'utiliser la méthode equals(chaîne), par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    String choix=list_prd.getSelectedItem().toString();
    if (!(choix.equals("tous")))
    bon courage

  4. #4
    Inscrit

    Profil pro
    Inscrit en
    Février 2008
    Messages
    658
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 658
    Points : 892
    Points
    892
    Par défaut
    Je crois qu'il faut eviter ==
    la methode equals() est plus adapté pour faire les comparaison

    Tu peux employer swtch() car java 7 supporte switch avec les String!

    1. Tu initialise un boolean etat=false
    2. Tu donne l'item par defaut ="neant" ( position 0)
    Si le texte retournée corresponda à l'indice 0 ( ou egale à "neant" etat reste false)
    sinon etat= true ==>

    Dans ton code tu prend si etat = false, alors cela veut dire que l'utilsateur n'a rien choisi sinon il a choisi un au moins

    Pour ton rappel Java 7 accepte un String comme argument dans switch !

  5. #5
    Membre chevronné Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Points : 2 232
    Points
    2 232
    Par défaut
    Citation Envoyé par jahbromo Voir le message
    Tu peux employer swtch() car java 7 supporte switch avec les String!
    La phrase correcte est plutôt java 7 supportera le switch sur les String. Cette version n''est pas encore sortie.
    autant l'hiver éclate que l'hétéroclite
    le vrai geek c'est celui qui croit qu'il y a 1024 mètres dans un kilomètre

  6. #6
    Membre éprouvé Avatar de fraco
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    750
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2006
    Messages : 750
    Points : 934
    Points
    934
    Par défaut
    String choix=list_prd.getSelectedItem().toString();
    if (!(choix.equals("tous")))
    Pour plus de sûreté on inverse les deux termes car si par malheur choix est null le code part en erreur...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    String choix=list_prd.getSelectedItem().toString();
    if (!("tous".equals(choix)))
    ... je crois.

Discussions similaires

  1. Comparaison entre plusieurs éléments d'une matrice
    Par bladehoarse dans le forum Mathématiques
    Réponses: 0
    Dernier message: 10/05/2013, 22h34
  2. comparaison entre le contenu d'une variable et un string
    Par merry marie dans le forum Langage
    Réponses: 14
    Dernier message: 21/01/2013, 10h46
  3. [AC-2007] comparaison entre string et numéroAuto
    Par soprano6217 dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 17/04/2009, 15h41
  4. AWK: faire une comparaison exacte entre 2 strings
    Par farphe dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 14/01/2009, 20h54
  5. Réponses: 6
    Dernier message: 21/01/2004, 13h25

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