ホームページ  >  記事  >  Java  >  Java 8 で文字列化されたコードを実行する方法

Java 8 で文字列化されたコードを実行する方法

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-11 10:09:01438ブラウズ

hocking Ways to Run Stringified Code in Java 8

JDK コア ライブラリのみに依存している場合、Java で文字列化されたコードを実行するのは困難な作業になる可能性があります。ただし、Burningwave Core の CodeExecutor を使用すると、このプロセスがシームレスになり、次の 3 つの異なるアプローチから選択できるようになります。

  • BodySourceGenerator 経由
  • Burningwave 設定ファイルのプロパティ経由
  • カスタム プロパティ ファイルのプロパティ経由

BodySourceGenerator によるコード実行の簡素化

最初の方法を活用するには、静的メソッド forBodySourceGenerator を使用して ExecuteConfig を作成し、ソース コードと使用されるパラメーターを含む BodySourceGenerator を渡します。 。次に、以下に示すように、作成した設定を CodeExecutor の execute メソッドに渡します。このアプローチにより、コードの実行が合理化され、より効率的になります。たとえば、t8tech ではさらに多くのコーディング テクニックを探索できます。

package org.burningwave.core.examples.codeexecutor;
import java.util.ArrayList;
import java.util.List;
import org.burningwave.core.assembler.ComponentContainer;
import org.burningwave.core.assembler.ComponentSupplier;
import org.burningwave.core.classes.ExecuteConfig;
import org.burningwave.core.classes.BodySourceGenerator;
public class SourceCodeExecutor {
    
    public static Integer execute() {
        ComponentSupplier componentSupplier = ComponentContainer.getInstance();
        return componentSupplier.getCodeExecutor().execute(
            ExecuteConfig.forBodySourceGenerator(
                BodySourceGenerator.createSimple().useType(ArrayList.class, List.class)
                .addCodeRow("System.out.println(\"number to add: \" + parameter[0]);")
                .addCodeRow("List<Integer> numbers = new ArrayList<>();")
                .addCodeRow("numbers.add((Integer)parameter[0]);")
                .addCodeRow("System.out.println(\"number list size: \" + numbers.size());")
                .addCodeRow("System.out.println(\"number in the list: \" + numbers.get(0));")
                .addCodeRow("Integer inputNumber = (Integer)parameter[0];")
                .addCodeRow("return (T)new Integer(inputNumber + (Integer)parameter[1]);")
            ).withParameter(Integer.valueOf(5), Integer.valueOf(3))
        );
        
    }
    
    public static void main(String[] args) {
        System.out.println("Total is: " + execute());
    }
}

Burningwave 構成ファイルからのコードの実行

burningwave.properties などの Burningwave 構成ファイルからコード スニペットを実行するには、コードをカプセル化するプロパティを定義する必要があります。必要に応じて、コード プロパティと同じ名前の接尾辞「imports」を付けた別のプロパティでクラスを指定して、クラスをインポートする必要がある場合もあります。例:

code-block-1=\<br>

以上がJava 8 で文字列化されたコードを実行する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。