import java.util.HashMap;
import java.util.Iterator;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;
public class Main {
public static void main(String[] args) throws ScriptException {
HashMap<String, Integer> dataMap = new HashMap<String, Integer>();
dataMap.put("a", 0);
dataMap.put("b", 2);
dataMap.put("c", 3);
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("js");
String testStr = "a+b+c";
Iterator<String> keys = dataMap.keySet().iterator();
while(keys.hasNext()) {
String key = keys.next();
testStr = testStr.replaceAll(key, dataMap.get(key)+"");
}
System.out.println(testStr);
Object result = engine.eval(testStr);
System.out.println(result);
}
}
결과
0+2+3
5