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

  FORUM HardWare.fr
  Programmation
  Java

  API Reflection

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

API Reflection

n°1090045
SHiSo
Posté le 19-05-2005 à 21:51:32  profilanswer
 

salut, voici le code:
 

Code :
  1. public class test2{
  2.  int ul = 2;
  3.  public void main(String args[]) {
  4.   try{
  5.    System.out.println(">> ul = " + ul);
  6.    String search = "ul"
  7.    this.getClass().getField(search).set(this, 3);
  8.    System.out.println(">> ul = " + (String) this.getClass().getField(search).get(this));
  9.   }
  10.   catch(Exception e){
  11.    System.out.println("Exception: " + e);
  12.    e.printStackTrace();
  13.   }
  14.  }
  15. }


 
ce que j'aimerais faire c'est, depuis une variable String, récupérer mon entier int et le modifier mais ca n'a pas trop l'air de marcher, il m'affiche meme comme erreur:
 

Code :
  1. set(java.lang.Object,java.lang.Object) in java.lang.reflect.Field cannot be applied to (test2,int)
  2.                          this.getClass().getField("ul" ).set(this, 3);


 
Pourtant je ne vois pas :s j'ai du mal saisir le biz.
 
Si quelqu'un peut m'éclairer :)
 
thx
SHiSo

mood
Publicité
Posté le 19-05-2005 à 21:51:32  profilanswer
 

n°1090230
tequilla76
Posté le 20-05-2005 à 07:53:42  profilanswer
 

j'ai pas trop bien compris mais si tu veux convertir un String en int (mais il faut que ce soit un int valable car je pense que par exemple "10 01" ne passera pas) tu peux essayer un Integer.parseInt(String)

n°1090365
benou
Posté le 20-05-2005 à 10:32:38  profilanswer
 

t'essaye de faire rentrer un int dans un Object => à moins que tu dois en java1.5 (autoboxing), ca marchera pas ...
 
PS : les conventions de codage java, quoi :o


---------------
ma vie, mon oeuvre - HomePlayer
n°1090368
benou
Posté le 20-05-2005 à 10:34:20  profilanswer
 

faut utiliser les wrapper : int -> Integer
c'est expliqué dans la javadoc si je me souviens bien.
Ca l'est aussi dans n'importe quel tutorial sur l'introspection.
 
Bref, je te conseille de t'autodocumenter un peu ...


---------------
ma vie, mon oeuvre - HomePlayer
n°1090586
tequilla76
Posté le 20-05-2005 à 13:08:01  profilanswer
 

donc c'est bien ce que j'ai dit.

n°1090642
benou
Posté le 20-05-2005 à 13:53:39  profilanswer
 

tequilla76 a écrit :

donc c'est bien ce que j'ai dit.


non pas vraiment ...


---------------
ma vie, mon oeuvre - HomePlayer
n°1091159
tequilla76
Posté le 20-05-2005 à 19:01:34  profilanswer
 

ah oui t'as raison je ne t'avais pas compris. Mais pourquoi utiliser un wrapper, ce qu'il veut c'est transformer une String en int non?
 
Si oui, il faut donc faire un Integer.parseInt(String)

n°1091165
benou
Posté le 20-05-2005 à 19:08:06  profilanswer
 

la méthode set de Fields prend en paramètre pour la valeur un Object, pas un int => il faut passer par un Integer comme je l'ai expliqué. Va voir la javadoc ...


---------------
ma vie, mon oeuvre - HomePlayer

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

  API Reflection

 

Sujets relatifs
[Dev-Cpp] erreur de link avec API GetStockObject[Api windows (win32) / C] Edition d'un subitem dans une listview
integrer une API (librairie) a javaTutorials sur le parsing de l'API DOM de PHP5 ?
Performance MySQL queries via API CAPI PHP,satanisme et vieilles aplaties (recyclaid)
[MYSQL] API C use_resultQuel langage/API utiliser ?
A quoi correspond "struct" pour une API d'un blog ?MySQL : API C
Plus de sujets relatifs à : API Reflection


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR