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 :

L'accès aux attributs d'un objet dans un tableau d'objets


Sujet :

Collection et Stream Java

  1. #1
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2014
    Messages : 131
    Points : 93
    Points
    93
    Par défaut L'accès aux attributs d'un objet dans un tableau d'objets
    Salut;
    j'étais un peu étonnée du compilateur lorsque il ma indiquée que je pointe sur quelque chose null, lorsque j'ai mis "tab[i].attribut=valeurs " avec tab est un tableau d'objets,et vraiment je trouve le travail pénible lorsque je veux accéder à n'importe quel attribut d'un objet par la création d'un nouveau objet via son constructeur ensuite l'affecter à une case du tableau ,et alors là lorsque je veux modifier juste une partie de l'objet c.à.d un attribut parmi ses attributs, je dois le recréer une autre fois .donc sans enroulement est ce que il existe un moyen pour clarifier ce problème S.V.P ? .
    Merci d'avance et vos réponses seront les bienvenues .

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 554
    Points : 21 613
    Points
    21 613
    Par défaut
    Hello,

    je ne comprends pas trop de quoi tu parles, et c'est normal puisque tu as choisi d'utiliser des mots maladroits bien légitimes chez les débutant, au lieu de simplement montrer le code qui te dérange pour qu'on puisse voir de quoi il s'agit.
    Donc à retenir pour le futur : parler de ton problème, c'est bien, oui, mais il ne faut le faire qu'après avoir montré le code correspondant. Du plus important au moindre.

    Bref, il n'y a aucun besoin de recréer quoi que ce soit pour manipuler les attributs d'un objet, et qu'ils soient dans un tableau ou non n'y change absolument rien.
    Il est clair que tu te trompes quelque part, et nous ne pouvons pas deviner où sans code.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2014
    Messages : 131
    Points : 93
    Points
    93
    Par défaut
    D'abord je m'excuse Mr pour les mots légitimes et espérant bien que vous me comprendrez cette fois ci
    voila le code sous java.
    la classe personne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    public class personne{
    public String nom;
    public int age;
    personne(String s,int val){
    this.nom=s;
    this.age=val;
    }
    }
    et maintenant voici quelque instructions que j'ai utilisées dans une autre classe se lance par son point d'entrée "main"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    personne [] tab=new personne[10];
    tab[0].nom="kivok";
    tab[0].age=17;
    Note: dans le cas d'une lecture l'accès aux attributs d'un objet dans le tableau par l'utilisation du point sa marche mais dans le cas d'une écriture le contraire .
    bien cordialement .

  4. #4
    Modérateur
    Avatar de Alkhan
    Homme Profil pro
    ingénieur full stack
    Inscrit en
    Octobre 2006
    Messages
    1 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur full stack

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 232
    Points : 2 061
    Points
    2 061
    Par défaut
    bonjour,

    Avant de commencer une petite remarque, en java il y a une convention a respecter sur le nommage, ce qui rendra ton code plus lisible.
    les infos sont ici
    en fait, tu n'as probablement pas bien compris le fonctionnement des tableaux !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    personne [] tab=new personne[10];
    cette instruction ne va pas créer un tableau contenant 10 personnes !
    En réalité, elle va créer un tableau avec 10 cellules permettant de stocker des objets de type personne, et ces cellules sont toute vide (le contenu est null).
    Donc dans ton cas tab[0] ne contient rien (donc du null) d'ou le fait que tu obtiennes un nullPointer.
    D'autre part, tu as mis un seul constructeur avec paramètre dans personne. Il faut donc pour initialiser ton tableau que tu le fasse comme suit (en respectant la convention de nommage) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Personne[] tab=new Personne[10];
    tab[0] = new Personne("kivok", 17);
    Il n'y a pas de problème, il n'y a que des solutions.
    Cependant, comme le disaient les shadoks, s'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
    Si toutefois le problème persiste, la seule solution restante est de changer le périphérique qui se trouve entre la chaise et l'écran

    Mes Articles : Mon premier article est sur le language D
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2014
    Messages : 131
    Points : 93
    Points
    93
    Par défaut
    Salut et merci pour la réponse;
    je viens juste de corriger mes dires pour Mr thelvin en ce qui concerne l'utilisation du mot "recréer" un objet dans le message précédent,enfaîte je voulais juste dire instancier un objet (donc désolé les développeurs c'est juste un abus de langage même pour la notion de nommage normalement un p majuscule dans la nom de la classe ), et effectivement Mr Alkhan enfaîte le tableau contient juste des références est non pas l'objet lui même donc si quelqu'un à rencontrer le même problème il doit utiliser le mot new suivi du constructeur d'objet pour chaque case comme il vient d'expliquer Alkhan.
    Bien cordialement et merci encore une fois Mr Alkhan.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 17/06/2014, 06h43
  2. Accès methode d'un objet dans un tableau d'objet
    Par unapologetic dans le forum Langage
    Réponses: 4
    Dernier message: 20/08/2013, 09h47
  3. Réponses: 4
    Dernier message: 17/08/2012, 17h10
  4. Rechercher un objet dans un tableau d'objet
    Par mikaelm dans le forum Ruby
    Réponses: 6
    Dernier message: 11/06/2007, 17h58
  5. Acces aux attributs d'un bean dans une jsp
    Par mariemor64 dans le forum Struts 1
    Réponses: 2
    Dernier message: 02/06/2006, 10h32

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