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

Java Discussion :

caster à partir de l'objet Class


Sujet :

Java

  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    153
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Avril 2009
    Messages : 153
    Par défaut caster à partir de l'objet Class
    Bonjour,

    Le titre du topic n'est certainement pas très clair, mais je ne voyais pas trop comment le formuler.

    Je vais d'abord commencer par expliquer ce que j'aimerai faire.

    Pour maximiser la réutilisation de code, j'aimerais pouvoir caster "automatiquement" un objet.

    Voici le code que j'aimerais avoir :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    private String generateDivValueFromList (List list, String separator, Class type) {
        List <type> localList = list;
     
        return "blah";
    }
    Pour pousser le vice encore plus loin, est-il possible de passer en paramètre un nom de méthode à utiliser (comme pour les pointeurs de fonctions en C)

    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    private String generateDivValueFromList (List list, String separator, Class type, Handler func) {
        List <type> localList = list;
        for (type localObj : localList) {
            localObj.func();
        }
        return "blah";
    }

  2. #2
    Invité
    Invité(e)
    Par défaut
    Salut,
    Tu pourrais ajouter un type générique à ta méthode et utiliser la reflection pour invoker ta méthode, ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    private <T> String generateDivValueFromList(List<T> list, String separator,
                String func) throws SecurityException, NoSuchMethodException,
                IllegalArgumentException, IllegalAccessException,
                InvocationTargetException {
            for (T localObj : list) {
                // dans le cas où tu n'as aucun paramètre pour ta fonction
                Method method = localObj.getClass().getMethod(func, null);
                method.invoke(localObj, null);
     
            }
            return "blah";
    }
    A plus

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    153
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Avril 2009
    Messages : 153
    Par défaut
    Merci, c'est exactement ce qu'il me fallait.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 15/05/2011, 10h15
  2. Réponses: 7
    Dernier message: 22/03/2007, 14h26
  3. Réponses: 22
    Dernier message: 03/02/2005, 16h43
  4. [C#] Créer un fichier Xml à partir d'un objet
    Par Troopers dans le forum Windows Forms
    Réponses: 3
    Dernier message: 03/09/2004, 13h23
  5. Objets/Classes avec un SGBD
    Par tiboleo dans le forum Décisions SGBD
    Réponses: 13
    Dernier message: 09/11/2003, 16h04

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