문자열에 저장된 코드 실행
질문:
코드가 포함된 Java 문자열을 실행하고 있습니까? 이러한 목적으로 Java 리플렉션을 사용하는 것을 고려해 보십시오.
코드 조각:
<code class="java">String javaCode = "if(polishScreenHeight >= 200 && " + "polishScreenHeight <= 235 && polishScreenWidth >= 220) { }";</code>
답변:
Java 리플렉션은 메서드를 호출하거나 클래스를 인스턴스화하는 데 사용할 수 있지만 문자열에 포함된 임의 코드를 실행하는 데 직접 사용할 수는 없습니다. 그러나 다음과 같은 몇 가지 대체 접근 방식을 사용할 수 있습니다.
1. 컴파일러 API:
컴파일러 API를 사용하면 Java 코드를 동적으로 컴파일할 수 있습니다. Java 문자열을 컴파일하고 새 클래스로 저장한 다음 새 클래스를 인스턴스화하고 실행할 수 있습니다.
2. Beanshell:
Beanshell은 Java에 통합할 수 있는 경량 스크립트 언어입니다. Java 문자열을 Beanshell에 입력으로 전달할 수 있으며, Beanshell은 내부 코드를 해석하고 실행합니다.
위 내용은 **문자열에 저장된 Java 코드를 실행할 수 있습니까?**의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!