我的表情是这样的:($a+$b)/$c
String expr = "($a+$b)/$c";
Float sum = Float.valueOf("2.2");
HashMap<String, Float> valueMap = new HashMap<String,Float>();
valueMap.put("$".concat(a)), sum);
sum = sum + Float.valueOf("1");
valueMap.put("$".concat(b)), sum );
sum = sum + Float.valueOf("1");
valueMap.put("$".concat(c)), sum );
VariableResolverFactory myVarFactory = new MapVariableResolverFactory();
Serializable compileExpression = MVEL.compileExpression(mtrExprD, valueMap); // here, Only a map of < String,Object > is allowed.
MVEL.executeExpression(compileExpression, myVarFactory); // This should return me a float Value.
MVEL.executeExpression()
返回一个对象;我想myExpression
返回一个浮点值而不是一个对象。如何解决这个问题?