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

Collection et Stream Java Discussion :

comparer un String tableau avec une chaine de caractère


Sujet :

Collection et Stream Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 36
    Points : 28
    Points
    28
    Par défaut comparer un String tableau avec une chaine de caractère
    Bonjour,
    je ne comprend pas pourqoi le prog me renvoie false,les valeurs des 2 tableaux sont identiques,
    voiçi ce que j'ai fait:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    class comparEssai{
    	static boolean comparer(String[]tab,String s){
    		String []tab2=s.split(",");
    		boolean egal=false;
    		if(tab.length==tab2.length){
    			egal=true;
    			int i=0;
    			while(egal && i<tab.length){
    				egal=tab[i]==tab2[i];
    				i ++;
    			}
    		}
    		return egal;
    	}
    	public static void main (String[]args){
    		String ck="B,O,N,J,O,U,R";
    		String[]tab={"B","O","N","J","O","U","R"};
    		Terminal.ecrireStringln("tab==tab2?" + comparer(tab,ck));
    	}
    }
    Merci pour vos réponses

  2. #2
    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,


    L'égalité sur des objets se fait via la méthode equals() et non pas l'opérateur == !

    De plus pour comparer des tableaux il y a la méthode Arrays.equals()...

    a++

  3. #3
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Notons justement que les deux tableaux ne sont pas identiques : ils n'ont pas la même identité.

    Ils ont le même contenu, et sont donc égaux selon la plupart des algèbres. Mais ils sont deux tableaux qui existent indépendamment l'un de l'autre, et ne sont donc pas identiques.
    Par exemple, si le programme changeait le contenu d'un des deux tableaux, l'autre tableau resterait inchangé. Pas identiques.

    Or, == est pour tester l'identité : vérifier si deux variables pointent en fait vers un seul et même objet.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Indicer un tableau avec une chaine de caractères
    Par petdelascar dans le forum C
    Réponses: 10
    Dernier message: 08/11/2007, 14h55
  2. Réponses: 8
    Dernier message: 06/05/2007, 21h47
  3. Réponses: 4
    Dernier message: 01/02/2007, 19h06
  4. Réponses: 5
    Dernier message: 26/07/2006, 11h13
  5. [String]Recherche d'une chaine de caractères dans une autre
    Par Crazyblinkgirl dans le forum Langage
    Réponses: 3
    Dernier message: 29/07/2004, 11h51

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