Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : java.lang.reflect.Field; [ Divers / Général ] (zarmin)

jeudi 21 décembre 2006 à 11:15:11 | java.lang.reflect.Field;

zarmin

Bonjour,

Je cherche a recuperer toutes les variables d'une classe (ou il n y a que des strings), et les remplir par de nouvelles valeurs.

Exemple de ma classe :

public class helloWold()
{
    String myString1 = "test1";
    String myString2 = "test2";
    String myString3 = "test3";
    String myString4 = "test4";
}


public static void main(String[] args) {
Field myField[] = helloWold().class.getFields();

            for (int i = 0; i < myField.length; i++)
            {
                System.out.println(myField[i].getName()); //recupere la valeur de la String
            }
}

Donc j'arrive bien a recuperer les valeurs de toutes les String mais maintenant je cherche a les remplir. J'ai essaye le set() mais je me sens un peu perdu avec les Fields... Est il possible de remplir une String ainsi ? et si oui comment ?

Merci d avoir lu et de vos idees par avance


jeudi 21 décembre 2006 à 11:52:40 | Re : java.lang.reflect.Field;

Twinuts

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
Salut,

tiens voici un exemple :

import java.lang.reflect.Field;

public class HelloWold {
    public String    myString1    = "test1";
    public String    myString2    = "test2";
    public String    myString3    = "test3";
    public String    myString4    = "test4";

    public static void main(String[] args) {
        Field myField[] = HelloWold.class.getFields();
        Object instance = new HelloWold();//récupération de l'instace sur l'objet HelloWold dans le but de pouvoir faire des get et set de la valeur
        for (int i = 0; i < myField.length; i++) {
           
            System.out.println(myField[i].getName()); //recupere le nom de la String
            try {
                System.out.println(myField[i].get(instance)); //recupere la valeur de la String
                myField[i].set(instance, "toto"+(i+1));
                System.out.println("new value = " + myField[i].get(instance)); //recupere la nouvelle valeur de la String
            } catch (IllegalArgumentException e) {
                e.printStackTrace();
            } catch (IllegalAccessException e) {
                e.printStackTrace();
            }
            System.out.println();
            System.out.println();
            System.out.println();
            System.out.println();

        }
    }
}



------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

WORA

jeudi 21 décembre 2006 à 14:06:08 | Re : java.lang.reflect.Field;

zarmin

merci  cest cool :)



dimanche 31 décembre 2006 à 18:10:35 | Re : java.lang.reflect.Field;

ShareVB

salut,

maintenant si c'est un VRAI bean, les fields sont privés et on se prend un IllegalAccessException...dans ce cas, on peut utiliser les classes de java.beans et plus particulièrement Introspector et PropertyDescriptor...


ShareVB



Cette discussion est classé dans : java, string, remplir, lang, field


Répondre à ce message

Sujets en rapport avec ce message

JFreeChart et XML [ par jfviguier ] Je voudrais créer un PieChart grace à JFreeChart depuis les données XML : Zone1 20 error dans la page jsp [ par boumboum2006 ] salut tous le monde,svp est ce que quelq'un pourrait m'aider à résoudre ce problème :j'ai une page jsp qui fait apel à une méthode qui fait un ajout d java.lang.NullPointerException [ par bolgot ] Bonjour, j'ai un problème au niveau de mon code j'ai comme erreur java.lang.NullPointerException au niveau de la ligne :String   nbAcc=(String) nbAccJ LIBRAIRIE JDOM [ par CleFac ] Bonjour,je suis sous debian etch. j'ai installé la paquet "libjdom1-java", jusqu'à la tout va bien.la librairie se situe dans le répertoire "/usr/shar quoi que je fait, impossible de serialiser un objet [ par sikove ] salut j'ai testé à plusieurs rprises mais impossible de serialiser un objet, pourtant je suis sur que je n'ai fait aucune erreur : voila le code erreu java.lang.ClassNotFoundException: org.gjt.mm.mysql.Driver [ par cascadox ] salut tous le monde, j'ai un projet de fin d'études et je veux éssayer la connexion de la class persistance mais le probléme c'est un message d'exépti Pb entre classe contrôleur et classe FTP [ par mimi1255 ] Bonjour, j'ai une IHM qui appel une classe contrôleur (GestionSystemGardien), la classe GestionSystemGardien fait appel à la classe GestionDownloadPho Comment utiliser HttpClient? [ par zut69 ] Bonjour,J'ai créé une applet qui lit un fichier sur l'ordinateur client, qui le crypte et maintenant je voudrais renvoyer le contenu du fichier (donc programmation java [ par talibikeba ] Bonjour je suis debutant en java et j'ai du mal à faire l'appel d'un tableau en parametre dans le main au niveau du construteur j'ai 3 choses en argum


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,406 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.