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

API standards et tierces Java Discussion :

[Reflection] Taille de tableau


Sujet :

API standards et tierces Java

  1. #1
    Nouveau candidat au Club
    Inscrit en
    Décembre 2007
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 1
    Par défaut [Reflection] Taille de tableau
    Slt tous le monde
    j ai un problem de lire un attribut de type Byte[] (tableau de bit)
    le problem c est j arrive pas à lire la taille du tableau.

    classe Introspection:
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    import java.lang.reflect.Field;
    import java.lang.reflect.Array;
    import java.io.*;
     
    public class Introspection {
        private Field[] fields;
            public Introspection(String file){
            fields=this.getClass().getDeclaredFields();
            this.file=file;
        }
            public void set(){
            try{
                         for(int i=0;i<fields.length;i++){
                        if(fields[i].getType().getSimpleName().equals("Integer")){
                         fields[i].set(this, 1);   
                            }  
                          if(fields[i].getType().getName().equals("[Ljava.lang.Byte;")){
                     fields[i].set(this, );
                }
                         }
                     }
                   catch(IllegalAccessException e){
                System.out.println(e.getMessage());
            }
    }
     
    Classe Ticket:
    public class Ticket extends Introspection {
            public Integer RecordLength;
        public Byte  ServiceKey[]=new Byte[10];
    }

  2. #2
    Membre Expert
    Avatar de Patriarch24
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2003
    Messages
    1 047
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 047
    Par défaut
    Je ne comprends pas la question ni l'utilité du code...

  3. #3
    Membre éprouvé Avatar de jean.2edi
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2008
    Messages : 106
    Par défaut
    C'est vrai que le code semble étrange mais...

    A priori je dirai que le type de ton attribut n'a pas de lien avec la taille du tableau qu'il référence : c'est le même type pour un tableau vide, de 10 ou 1000 Byte ! A quoi va te servir la taille si tu le "set" avec un nouveau tableau ?!? Ou alors tu veux remplir le tableau : dans ce cas il faut que tu fasses un get dans ton objet sur ce champ (ce qui correspondrait à this.ServiceKey) :

    Remarque 1: Chercher le type par son nom, ça fait pas joli...
    Remarque 2: Les noms d'attribut devraient commencer par des minuscules...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if(fields[i].getType().isInstance(new Byte[0])) {
    	// pour connaître la taille
    	Byte[] bytes = (Byte[]) fields[i].get(this);
    	System.out.println(bytes.length);
    }

Discussions similaires

  1. [Reflection] caster un tableau dynamiquement
    Par Pignoufy dans le forum API standards et tierces
    Réponses: 8
    Dernier message: 16/11/2010, 15h35
  2. Problème de taille de tableau
    Par k-nine dans le forum C
    Réponses: 6
    Dernier message: 25/09/2005, 09h16
  3. [VBA-E] taille du tableau non connu
    Par Invité dans le forum Macros et VBA Excel
    Réponses: 21
    Dernier message: 26/07/2005, 15h51
  4. [Reflection] Créer un tableau d'objets dynamiquement.
    Par salome dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 25/03/2005, 18h59
  5. static const et taille de tableau
    Par tut dans le forum C++
    Réponses: 3
    Dernier message: 27/01/2005, 16h01

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