> Java > java지도 시간 > 본문

Java 8에서 문자열화된 코드를 실행하는 방법

Patricia Arquette
풀어 주다: 2024-10-11 10:09:01
원래의
547명이 탐색했습니다.

hocking Ways to Run Stringified Code in Java 8

JDK 핵심 라이브러리에만 의존할 경우 Java에서 문자열화된 코드를 실행하는 것은 어려운 작업이 될 수 있습니다. 그러나 Burningwave Core의 CodeExecutor를 사용하면 이 프로세스가 원활해지며 선택할 수 있는 세 가지 접근 방식이 제공됩니다.

  • 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿