Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
958 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Un tableau est-il un objet ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Un tableau est-il un objet ?

n°2167356
Benh_31
Posté le 09-12-2012 à 12:06:18  profilanswer
 

Bon dimanche à tous !
 
Alors voila ma question qui vous paraitra peut être bête mais qui me torture l'esprit :
 
Un tableau est il considéré comme un objet ?
 
par exemple :
 

Code :
  1. Compte[] tab = new Compte[10];


 
c'est un seul objet crée en mémoire ou 10 objet de type Compte crée en mémoire ?
j'aurai plus tendance à choisir la deuxième solution...
 
voila merci d'avance :)

mood
Publicité
Posté le 09-12-2012 à 12:06:18  profilanswer
 

n°2167361
windux
Posté le 09-12-2012 à 12:41:24  profilanswer
 

Est-ce qu'un tableau est un objet ? j'ai envie de dire que ça dépend du langage.
Dans ton exemple, c'est objet. Et un objet peut en contenir d'autres ..

n°2167367
Benh_31
Posté le 09-12-2012 à 13:26:11  profilanswer
 

l'énoncé exact de la question est :
 
"Combien d'objets (au sens de java) sont réellement créés en mémoire lors de l'exécution de la méthode main()"
 
sachant qu'il y a plein d'autres new après mais qui ne me posent pas de problème sachant que ce n'est pas des tableaux.

n°2167379
windux
Posté le 09-12-2012 à 15:08:52  profilanswer
 

Je suis pas trop sûr, mais je pense que c'est un seul objet qui est géré en mémoire : le tableau d'objets : pour un tableau statique, connaissant sa taille et la taille du type d'objet, l'information est suffisante pour réserver de l'espace mémoire.

n°2167432
Benh_31
Posté le 10-12-2012 à 12:27:04  profilanswer
 

oui au final je crois que tu as raison, en tout cas c'est ce que mon prof m'a dis.
 
merci bien :)

n°2167434
masklinn
í dag viðrar vel til loftárása
Posté le 10-12-2012 à 13:09:14  profilanswer
 

windux a écrit :

Je suis pas trop sûr, mais je pense que c'est un seul objet qui est géré en mémoire : le tableau d'objets : pour un tableau statique, connaissant sa taille et la taille du type d'objet, l'information est suffisante pour réserver de l'espace mémoire.


La taille du type d'objet n'a aucune importance, les objets ne sont pas directement dans le tableau (contrairement à un tableau de struct C), il ne stocke que des références vers les objets (ou — la valeur par défaut — null s'il n'y a aucun objet à l'index) (pour les arrays vers des objets, les arrays vers des valeurs genre int[] sont différents)

 

Ici il n'y a qu'un objet alloué en Java: le tableau même, tous les indices sont à null. C'est facile à voir avec un peu de logging:

Code :
  1. Compte[] tab = new Compte[10];
  2. System.out.println(Arrays.asList(tab));


sortie:

[null, null, null, null, null, null, null, null, null, null]

 

(le Arrays.asList, c'est parce-que le toString d'un array est inutilisable, ça balance un truc genre [LCompte;@56e5b723, celui qu'une liste imprime une sorte d'array litéral avec les toString des membres — ou null si l'index est vide)

 

(edit: à partir de java 5, il y a Arrays.toString et Arrays.deepToString qui fonctionnent directement sur les arrays sans avoir besoin de passer par asList, mais les vieilles habitudes sont dures à perdre)

 

(Arrays.toString et Arrays.deepToString ont l'avantage de fonctionner correctement sur les arrays de value types, ce qui n'est pas le cas de asList)


Message édité par masklinn le 10-12-2012 à 13:14:36

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Un tableau est-il un objet ?

 

Sujets relatifs
Attribuer tableau à chaque objet d'une classealgorithme placement objet dans un tableau
[resolu]tableau d'objet dans une classe (et ca marche pas bien sur)Récuperer objet dans tableau en fonction du champ d'un objet
Tri d'objet pointé dans un tableau[resolu][PHP] parcourir un tableau d'objet
Objet cliquable tableau[PHP Class] - Création d'un objet et attribution de valeurs (tableau)
Utiliser WorksheetFunction avec tableau objetdéclaration d'un tableau d'objet probléme
Plus de sujets relatifs à : Un tableau est-il un objet ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR