Bonjour,
Est t'il possible d'instancier un classe avec un nom provenant d'une variable (le nom de l'instance, pas la classe).
Du genre :
MyClass mavariable = new MyClass();
merci
Bonjour,
Est t'il possible d'instancier un classe avec un nom provenant d'une variable (le nom de l'instance, pas la classe).
Du genre :
MyClass mavariable = new MyClass();
merci
je suis pas sur d'avoir compris ta question.
Si tu as une instance dans un variable et que tu veux créer une nouvelle instance du même type, tu peux faire ceci:
Si tu veux le faire à partir d'un nom de class:
Code : Sélectionner tout - Visualiser dans une fenêtre à part Object monObject = maVariable.getClass().newInstance()
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 String name = "java.lang.String"; Object o = Class.forName(name).newInstance();
Ouais, excuse moi si je suis pas très clair.
Non, en fait je souhaite créer des instances dont je puisse controler le nom par des String.
du genre j'aimerai qu'un truc comme:
String mystring="blabla";
MyClass mystring = new MyClass();
me construise une instance de MyClass qui s'appelle blabla, et qu'ensuite je puisse donc meme écrire :
blabla.uneMéthode();
Donc pas possible (le language java n'est pas interprété, il est compilé)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 String nom = "blabla"; //valeur de 'nom' interpretée à l'exécution blabla.uneMethode(); // utilisée à la compilation
Si t'as vraiment besoin d'utiliser des noms dynamique, stocke çà dans un Map et fait des
Code : Sélectionner tout - Visualiser dans une fenêtre à part ((MonType)map.get("blabla")).uneMethode()
Ouais, je pense que je vais faire ca, une HashMap.
Je te remercie
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager