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 :

tester une String sur un ens. énuméré en API 1.4


Sujet :

Langage Java

  1. #1
    Membre régulier
    Inscrit en
    Mars 2002
    Messages
    240
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 240
    Points : 102
    Points
    102
    Par défaut tester une String sur un ens. énuméré en API 1.4
    bonjour
    les ensembles énumérés n'existe pas dans la version 1.4 du JDK (mais seulement à partir de java 5)

    comment tester une string pour savoir si elle est dans un ensemble énuméré sans utiliser une suite de "if else if else ..." ?

    exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    String[] E = { "A", "B", "C" }
    String s = "v"
    test à faire
    la valeur de s appartient elle à E ?

  2. #2
    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
    Tu concaténes le tableau et tu fais un indexOf, mais c'est valable que pour un tableau de String.

  3. #3
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    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 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,


    Il suffit de rechercher sa valeur dans le tableau :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    boolean isPresent = Arrays.binarySearch(E, s)>=0;
    a++

  4. #4
    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
    Citation Envoyé par adiGuba
    Salut,


    Il suffit de rechercher sa valeur dans le tableau :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    boolean isPresent = Arrays.binarySearch(E, s)>=0;
    a++
    Si je ne m'abuse pour binarySearch les données doivent être triées.

    The array must be sorted into ascending order according to the natural ordering of its elements (as by Sort(Object[]), above) prior to making this call.

  5. #5
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    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 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par thibaut
    Si je ne m'abuse pour binarySearch les données doivent être triées.
    En effet tu fais bien de le préciser

    La meilleure solution reste d'utiliser une Collection pour cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    	Collection<String> E = Arrays.asList(new String[]{ "A", "B", "C" });  
    	String s = "B";
     
    	boolean isPresent = E.contains(s);
    a++

  6. #6
    Membre régulier
    Inscrit en
    Mars 2002
    Messages
    240
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 240
    Points : 102
    Points
    102
    Par défaut
    ok merci pour toutes ces réponses rapides !

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

Discussions similaires

  1. tester une requete sur 2 univers
    Par lysane dans le forum Deski
    Réponses: 3
    Dernier message: 30/07/2008, 09h55
  2. Formater une string sur un nombre de caractères fixes
    Par melleb dans le forum Général Dotnet
    Réponses: 4
    Dernier message: 15/05/2008, 09h45
  3. Réponses: 3
    Dernier message: 27/05/2007, 15h40
  4. Réponses: 2
    Dernier message: 09/09/2006, 21h08
  5. [Débutant] Tester une connection sur bdd
    Par lando dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 03/09/2003, 14h37

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