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] Récupérer un constructeur ayant un paramètre int [FAQ]


Sujet :

API standards et tierces Java

  1. #1
    Membre expérimenté
    Avatar de narmataru
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 548
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 548
    Points : 1 680
    Points
    1 680
    Par défaut [Reflection] Récupérer un constructeur ayant un paramètre int
    bonjour,
    Je voudrait récupérer un objet de type Constructor à partir d'un objet de type Class. Je vais donc faire appel à la méthode getConstructor(Class[] param). Or le constructeur auquel je veux faire appel prend en paramètre un 'int' Qu'est-ce que je dois mettre alors dans le tableau param ? un Integer ??

    merci

  2. #2
    Membre expérimenté
    Avatar de narmataru
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 548
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 548
    Points : 1 680
    Points
    1 680
    Par défaut
    bon ben apparemment c'est : Integer.TYPE
    j'va essayer...

  3. #3
    Membre expérimenté
    Avatar de narmataru
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 548
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 548
    Points : 1 680
    Points
    1 680
    Par défaut
    Donc pour récupérer et faire appel à un constructeur (et donc aussi à une méthode), demandant un type primitif int en paramètre il faut :
    - Donner les type Integer.INT dans le tableau de type des paramètre;
    - Donner un Integer dans le tableau des paramètre.

    Exemple :
    J'ai une class package.MaClass qui comporte un constructeur MaClass(String, int), je vais donc pouvoir l'instancié de cette manière :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    MaClass mc = null;
    try{
    	Class[] paramClass = new Class[]{String.class, Integer.TYPE};
    	Constructor constr = Class.forName("package.MaClass").getDeclaredConstructor(paramClass);
    	mc = (MaClass)constr.newInstance(new Object[]{"coucou", new Integer(10)});
    }
    catch(Exception e){
    	throw new Exception(e.getMessage(), e);
    }
    et voilà

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

Discussions similaires

  1. Réponses: 18
    Dernier message: 27/07/2009, 19h19
  2. Reflection : Créer une instance sans appeler le constructeur
    Par cboun94 dans le forum Framework .NET
    Réponses: 8
    Dernier message: 17/12/2007, 17h26
  3. Pb reflection avec constructeur
    Par sebastien2222 dans le forum Langage
    Réponses: 12
    Dernier message: 05/10/2006, 11h00
  4. Réponses: 2
    Dernier message: 05/10/2004, 22h43

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