執行儲存在字串中的程式碼
問題:
是否可以將Java String包含程式碼並執行它?考慮使用 Java 反射來實現此目的。
程式碼片段:
<code class="java">String javaCode = "if(polishScreenHeight >= 200 && " + "polishScreenHeight <= 235 && polishScreenWidth >= 220) { }";</code>
答案:
雖然Java 反射可以用來呼叫方法或實例化類,它不能直接用於執行字串中包含的任意程式碼。但是,有幾種替代方法可用:
1。編譯器 API:
編譯器 API 讓您動態編譯 Java 程式碼。您可以編譯 Java String,將其儲存為新類,然後實例化並執行新類別。
2. Beanshell:
Beanshell 是一種可以整合到 Java 中的輕量級腳本語言。您可以將 Java 字串作為輸入傳遞給 Beanshell,Beanshell 將解釋並執行其中的程式碼。
以上是**你能執行儲存在字串中的Java程式碼嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!