首頁 > Java > java教程 > 如何從字串變數執行 Java 程式碼?

如何從字串變數執行 Java 程式碼?

Patricia Arquette
發布: 2024-10-25 05:30:29
原創
521 人瀏覽過

How to Execute Java Code from a String Variable?

Java 中字串的動態程式碼執行

本文深入研究了執行儲存在 String 變數中的 Java 程式碼的查詢。能否將這段程式碼轉換為 Java 語句並動態執行?

動態程式碼編譯和執行

解決此問題的一種方法是利用 Java 的編譯器 API。這允許您即時編譯 Java 程式碼。以下是所涉及步驟的簡要概述:

  • 使用 JavaCompiler 實例編譯 String 中包含的程式碼。
  • 取得 ClassLoader 實例以載入已編譯的類別。
  • 建立動態載入類別的實例並呼叫其方法。

替代:Beanshell

或者,您可以考慮使用 Beanshell 來解釋腳本語言。 Beanshell 提供了一個用於從字串執行 Java 程式碼的無縫介面。以下是使用 Beanshell 的方法:

  • 將 Beanshell 庫匯入您的專案。
  • 建立 Interpreter 類別的實例並提供 Java 程式碼字串作為輸入。
  • 透過呼叫 eval() 方法來執行程式碼。

實作細節

下面的程式碼片段示範了使用Beanshell 動態執行Java 程式碼:

<code class="java">import bsh.Interpreter;

public class DynamicCodeExecution {

    public static void main(String[] args) throws Exception {
        // Java code stored in a String
        String javaCode = "if(polishScreenHeight >= 200 && " +
            "polishScreenHeight <= 235 && polishScreenWidth >= 220) { }";

        // Create Beanshell interpreter
        Interpreter interpreter = new Interpreter();

        // Set the code to be executed
        interpreter.eval(javaCode);
    }
}</code>
登入後複製

使用這種方法, String 中的Java 程式碼將會動態執行,讓您在執行時間評估條件或執行操作。

以上是如何從字串變數執行 Java 程式碼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板