Maison  >  Article  >  Java  >  **Pouvez-vous exécuter du code Java stocké dans une chaîne ?**

**Pouvez-vous exécuter du code Java stocké dans une chaîne ?**

Susan Sarandon
Susan Sarandonoriginal
2024-10-25 04:32:02278parcourir

**Can You Execute Java Code Stored in a String?**

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 &amp;&amp; " +
"polishScreenHeight <= 235 &amp;&amp; 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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn