gpt4 book ai didi

java - 如何从字符串上下文创建java类文件

转载 作者:行者123 更新时间:2023-12-02 01:02:49 25 4
gpt4 key购买 nike

我想实现提供一个像=“System.out.println(1)”这样的字符串,同时运行程序来动态创建一个具有此代码作为函数的类。

我尝试过 org.apache.commons.jexl2 包,但在我看来,这是一个初学者,它只适用于单个表达式

public static Object invokeMethod(String jexlExp, Map<String,Object> map){
JexlEngine jexl=new JexlEngine();
Expression e = jexl.createExpression(jexlExp);
JexlContext jc = new MapContext();
for(String key:map.keySet()){
jc.set(key, map.get(key));
}
if(null==e.evaluate(jc)){
return "";
}
return e.evaluate(jc);
}
public static void main(String[]args){
Map<String,Object> map=new HashMap<String,Object>();
map.put("money",3000);
String expression="{if(money==3000)return 30000}";
Object code = invokeMethod(expression,map);
out.println(code);

}

最佳答案

您可能想尝试一下 jexl3;它不会“创建类”或生成字节码,但会解释脚本。

关于java - 如何从字符串上下文创建java类文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57755814/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com