Maison >Java >javaDidacticiel >**Pouvez-vous exécuter du code Java stocké dans une chaîne ?**
Exécution du code stocké dans une chaîne
Question :
Est-il possible de convertir un Java String contenant du code et l’exécuter ? Pensez à utiliser la réflexion Java à cette fin.
Extrait de code :
<code class="java">String javaCode = "if(polishScreenHeight >= 200 && " + "polishScreenHeight <= 235 && polishScreenWidth >= 220) { }";</code>
Réponse :
Bien que la réflexion Java puisse être utilisé pour invoquer des méthodes ou instancier des classes, il ne peut pas être directement utilisé pour exécuter du code arbitraire contenu dans une chaîne. Cependant, plusieurs approches alternatives sont disponibles :
1. API du compilateur :
L'API du compilateur vous permet de compiler du code Java de manière dynamique. Vous pouvez compiler la chaîne Java, l'enregistrer en tant que nouvelle classe, puis instancier et exécuter la nouvelle classe.
2. Beanshell :
Beanshell est un langage de script léger qui peut être intégré à Java. Vous pouvez transmettre la chaîne Java en entrée à Beanshell, qui interprétera et exécutera le code qu'elle contient.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!