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

  FORUM HardWare.fr
  Programmation
  Java

  initialisation de tableau à type variable

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

initialisation de tableau à type variable

n°1678957
Sp4M-
Posté le 30-01-2008 à 11:44:35  profilanswer
 

Bonjour,
 
J'aimerais créer et initialiser un tableau dont les types ne sont pas connus à priori.
Le tableau est en fait un tableau d'Object, mais chaque colonne peut avoir un type different (En gros une matrice avec par exemple une colonne d'int[], une colonne de float[] ...)
 
Je dispose d'un (en fait plusieurs .. d'ou la necessité d'un constructeur generique) tableau contenant les types attendus des colonnes, sous cette forme :
 

Code :
  1. Object[] types = { String.class, int.class, float.class };


 
ensuite :
 

Code :
  1. Object[] values = new Object[nombreDeColonnes]; //ici 3 colonnes donc


 
Et je tente de les initialiser de la maniere suivante :
 

Code :
  1. for (int v = 0; v < values.length; v++)
  2. values[v] = new types[v].getClass().getClasses();


 
Ceci donne une erreur de compilation car le mot clé new attend un type directement après, bien que getClasses() renvoit théoriquement ce qu'on attendrait, à savoir un tableau du type voulu ...
J'ai regardé du coté de la methode .cast() egalement, mais qui ne semble pas non plus fonctionner dans ce cadre la avec des tableaux.
 
Une idée de comment résoudre ce casse tête ?  :??:

mood
Publicité
Posté le 30-01-2008 à 11:44:35  profilanswer
 

n°1679028
brisssou
8-/
Posté le 30-01-2008 à 13:24:15  profilanswer
 

Code :
  1. Array.newInstance(Object.class, nombreDeColonnes)


 
tu dois pouvoir jouer avec ça, non ?


---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les posts des topics suivis/favoris // Votes sur la grosse radio Chrome // FF
n°1679060
Sp4M-
Posté le 30-01-2008 à 14:52:38  profilanswer
 

brisssou a écrit :

Code :
  1. Array.newInstance(Object.class, nombreDeColonnes)


 
tu dois pouvoir jouer avec ça, non ?


 
Ah excellent, c'est exactement ce qu'il me fallait, je ne connaissais pas cette methode.
Merci ! ;)

n°1679269
brisssou
8-/
Posté le 30-01-2008 à 20:04:16  profilanswer
 

m'en fait je vois pas trop ce que ça amène par rapport à la mèthode native....


---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les posts des topics suivis/favoris // Votes sur la grosse radio Chrome // FF
n°1681130
BifaceMcLe​OD
The HighGlandeur
Posté le 03-02-2008 à 19:11:18  profilanswer
 

types est plutôt de type Class[] plutôt que Object[].
 
L'avantage, c'est que tu peux utiliser :

Code :
  1. types[v].newInstance()


(la classe Class possède une méthode newInstance() qui crée une instance de cette classe).


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

  initialisation de tableau à type variable

 

Sujets relatifs
[PERL] besoin de votre aide pour comprendre une variable[Debutant]Afficher element du tableau avec Random
[PHP] oracle et paramètre de type date ( ou alors sysdate ;) )Comment mettre le résultat d'une commande dans une variable DOS
Passer un tableau de pointeur au mainProblème pour adapter la taille d'une image à la cellule d'un tableau
Comparaison de variable Turbo Pascalmacro xls décaler tableau
Composant tableau ? Insérer des données dans une BDDProbleme de malloc sur un tableau de pointeur.
Plus de sujets relatifs à : initialisation de tableau à type variable


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Shop HFR