[size=large][b]Version2.1的变更:[/b][/size]
新增org.wltea.expression.ExpressionEvaluator. preparedCompile(String expression , Collection<Variable> variables)方法和类org.wltea.expression.PreparedExpression用来支持表达式预编译。用户可以像处理SQL语句那样,对需要循环执行的相同表达式进行预编译处理,而后设置不同的执行参数,得到不同的计算结果。详见”API说明”.
/**
* Hello World Example
* @param args
*/
public static void main(String[] args){
if(args.length == 0){
args = new String[1];
args[0] = "IK Expression V2.0.5";
}
//定义表达式
String expression = "\"Hello \" + 版本";
//给表达式中的变量 [版本] 付上下文的值
List<Variable> variables = new ArrayList<Variable>();
variables.add(Variable.createVariable("版本", args[0]));
//预编译表达式
PreparedExpression pe = ExpressionEvaluator.preparedCompile(expression, variables);
//执行表达式
Object result = pe.execute();
System.out.println("Result = " + result);
//更改参数,再次执行预编译式
pe.setArgument("版本", "IK Expression V2.0.6");
result = pe.execute();
System.out.println("Result = " + result);
}
修订了对声明为Object类型的参数传入Integer、Double、String等类型的值时,会抛出类型不匹配异常的问题。原来版本中,参数必须显式申明为DATATYPE_OBJECT类型,新版本则不需要,所有java类型默认继承于Object。
修改了ExpressionEvaluator的两个compile方法,不再抛出IllegalExpressionException异常,而改为运行期异常,以简化用户编码。
下载地址:
[url=http://ik-expression.googlecode.com/files/IKExpressionV2.1.0AllInOne.rar]IKExpressionV2.1.0完整压缩包[/url]
[url=http://ik-expression.googlecode.com/files/IKExpressoin%E7%AE%80%E6%98%93%E8%A1%A8%E8%BE%BE%E5%BC%8F%E5%BC%95%E6%93%8EV2.1.0%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E.pdf]IKExpressoin简易表达式引擎V2.1.0使用说明.pdf[/url]
google code开源地址:http://code.google.com/p/ik-expression/
更多详细请参阅RAR包内的《IKExpressoin简易表达式引擎V2.1.0使用说明.doc》文档