文字列変数から Java コードを実行するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-10-25 05:30:29
オリジナル
438 人が閲覧しました

How to Execute Java Code from a String Variable?

Java の文字列からの動的コード実行

この記事では、String 変数内に格納された Java コードの一部の実行について詳しく説明します。このコードを Java ステートメントに変換して動的に実行できますか?

動的コードのコンパイルと実行

この問題に取り組む 1 つのアプローチには、Java のコンパイラ API を利用することが含まれます。これにより、Java コードをオンザフライでコンパイルできるようになります。関連する手順の概要を次に示します。

  • JavaCompiler インスタンスを使用して String に含まれるコードをコンパイルします。
  • ClassLoader インスタンスを取得して、コンパイルされたクラスをロードします。
  • 動的にロードされるクラスのインスタンスを作成し、そのメソッドを呼び出します。

代替: Beanshell

あるいは、Beanshell で解釈されるスクリプト言語の使用を検討できます。 。 Beanshell は、文字列から Java コードを実行するためのシームレスなインターフェイスを提供します。 Beanshell の使用方法は次のとおりです。

  • Beanshell ライブラリをプロジェクトにインポートします。
  • インタープリター クラスのインスタンスを作成し、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>
ログイン後にコピー

このアプローチを使用すると、文字列内の Java コードが動的に実行され、実行時に条件を評価したり操作を実行したりできるようになります。

以上が文字列変数から Java コードを実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!