Donc, supposons que j'ai une chaîne str = "MyClass", maintenant je veux utiliser cette chaîne pour trouver la classe MyClass afin de pouvoir l'instancier et utilisez-le.Comment puis-je utiliser une chaîne pour trouver la classe qui a le même nom avec la chaîne
3
A
Répondre
5
Exemple simple:
MyClass obj = Class.forName("com.xyz.MyClass").newInstance();
Cela suppose l'existence d'un constructeur par défaut, et jeter diverses exceptions si la classe ne peut pas être trouvé, ou ne peut pas être instanciée.
0
Class.forName peut faire ce que vous voulez, mais vous aurez également besoin du chemin complet du paquet.
0
Classe myClass = Class.forName ("package.MyClass");
Occurrence d'objet = myClass .newInstance();
où paquet est le nom du package contenant MyClass
Questions connexes
- 1. Comment utiliser la méthode string.match pour trouver plusieurs occurrences du même mot dans une chaîne?
- 2. Utilisation de LINQ pour trouver la classe qui se trouve au bas de la chaîne d'héritage
- 3. Comment trouver une chaîne dans une chaîne et la remplacer?
- 4. jQuery.parseJSON ne pas analyser si la chaîne JSON a des éléments avec le même nom
- 5. Utiliser jQuery pour trouver des mots-clés dans la chaîne
- 6. Comment utiliser s'affirmer pour tester la chaîne
- 7. classe d'accès avec seulement le nom de la classe comme une chaîne
- 8. Comment trouver le fichier qui manque une chaîne obligatoire?
- 9. trouver la position d'une chaîne dans une autre chaîne
- 10. Comment déterminer le nom de la DLL (chaîne) qui a chargé ma DLL?
- 11. Trouver la sous-chaîne
- 12. Comment trouver l'élément d'un fichier XML avec un nom qui commence par une certaine chaîne
- 13. classe partielle avec la méthode même nom
- 14. C# - Comment trouver une chaîne dans une chaîne même si elle traverse des espaces?
- 15. Pouvez-vous diviser une chaîne en PHP avec une regex, mais obtenir facilement la chaîne correspondante qui divise la chaîne?
- 16. Comment utiliser une méthode qui a le même nom qu'un mot-clé de langue en F #?
- 17. ANT: Remplacer la chaîne dans le fichier avec le nom de fichier lui-même
- 18. C++ - Appeler une fonction dans une classe avec le même nom que la classe
- 19. Utiliser "this" avec le nom de la classe
- 20. Utiliser une chaîne pour appeler la fonction en Python
- 21. Comment trouver la sous-chaîne d'une chaîne sans utiliser la méthode indexof en C#?
- 22. trouver le nom de classe
- 23. doivent trouver si un nom de fenêtre a une chaîne sur elle avec python
- 24. Trouver une expression régulière qui correspond à une chaîne?
- 25. Comment trouvez-vous d'abord une classe qui contient une chaîne, puis obtenez l'ID de l'élément avec cette classe que vous venez de trouver? Utiliser Javascript
- 26. Type La coercition a échoué pour la même classe
- 27. Créer une propriété python avec le même nom que le nom du membre de la classe
- 28. JAXB, triage sous-classe qui a le même nom rootNode que la superclasse
- 29. Comment faire une classe qui agit comme une chaîne?
- 30. La classe héritée C++ a un membre du même nom
veulent souligner, cette classe devrait être disponible pour le chargement par les classloaders, OIEau, devrait être présent sur classpath. –
Comme l'a souligné Skaffman, il existe un certain nombre d'exceptions qui peuvent être levées car vous avez affaire aux API de réflexion de Java. Notez que newInstance() ne fonctionnera que dans un constructeur sans argument disponible pour la classe qui appelle (c'est-à-dire public, package). Si le constructeur prend des arguments, vous devrez effectuer d'autres recherches et appels de réflexion. –