表达式解析器 IKExpression
来源:互联网 发布:立体设计图软件 编辑:程序博客网 时间:2024/05/29 14:46
IK Expression 开源,可扩展基于java的表达式解析器。并且不依赖与其他jar,仅作为单独的jar提供功能。
使用场景:
场景1:当接受到字符串 "(a > 2 || b < 2) && c > 2"时,作为规则,传递过来一组map数据,a = 3 , b = 3 , c = 3需要验证表达式的boolean值。
import java.util.ArrayList;import java.util.List;import org.wltea.expression.ExpressionEvaluator;import org.wltea.expression.PreparedExpression;import org.wltea.expression.datameta.Variable;public class Expression {public static void main(String[] args) {//定义表达式String expression = "(a > 1 || b < 2) && c < 3 ";//给表达式中的变量 [版本] 付上下文的值List<Variable> variables = new ArrayList<Variable>();variables.add(Variable.createVariable("a", 2));variables.add(Variable.createVariable("b", 2));variables.add(Variable.createVariable("c", 2));//预编译表达式PreparedExpression pe = ExpressionEvaluator.preparedCompile(expression, variables);//执行表达式Object result = pe.execute();System.out.println("Result = " + result);}}
场景2:
public static Object evaluate(String expression, Collection variables)参数1:要传入执行的表达式。
参数2:Collection<Variable> variables表达式上下文的变量集合(参考org.wltea.expression.datameta.Variable)
返回值:表达式执行结果,可能是以下类型的 java 对象中的一种:Int、Long、Float、Double、Boolean、String、Date、List、Object。
剩下说明尽在“IKExpressoin简易表达式引擎V2.1.0使用说明.pdf”中
下载地址:表达式解析jar及说明地址
0 0
- 表达式解析器 IKExpression
- IKExpression
- Drools, IKExpression, Aviator和Groovy字符串表达式求值比较
- IKexpression简介
- 数字表达式解析器
- 表达式解析器
- 逻辑表达式解析器
- 函数表达式解析器
- 公式表达式解析器
- 公式表达式解析器
- C#表达式解析器
- java 表达式解析器
- 表达式解析器
- 表达式解析器(MVEL)
- 数学表达式解析器简介
- \(^_^)/ 表达式解析器(MVEL)
- 表达式解析
- 表达式解析
- 一道zhangying机试题
- C++命名空间
- JSon对象、JSon数组和JSon字符串。
- HDU 2717
- 动态设置UITableViewCell的高度
- 表达式解析器 IKExpression
- hdu 1004 Let the Balloon Rise(trie||映射统计)
- 【Python 学习手册笔记】动态类型简介
- 内存映射数据交换
- 黑马day17 json格式的数据
- Xutils 总结
- Android 屏幕旋转 处理 AsyncTask 和 ProgressDialog 的最佳方案
- phalcon 设定数据库参数
- UICollectionView-使用Flow Layout