表达式解析器 IKExpression
2015-07-13 11:27
549 查看
IK Expression 开源,可扩展基于java的表达式解析器。并且不依赖与其他jar,仅作为单独的jar提供功能。
使用场景:
场景1:当接受到字符串 "(a > 2 || b < 2) && c > 2"时,作为规则,传递过来一组map数据,a = 3 , b = 3 , c = 3需要验证表达式的boolean值。
场景2:
参数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及说明地址
使用场景:
场景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及说明地址
相关文章推荐
- Java--对象内存布局
- #笔记#圣思园 JavaWeb 第32讲——Servlet多线程同步问题,Cookie
- 常用的eclipse快捷键-也适合sts
- java 多重继承
- [LeetCode][Java] Combination Sum
- Java基础知识总结之多线程
- jdk 5并发包中CopyOnWrite类的用法
- java单例模式
- Java中数据相互转换
- Java之list
- 转!!为什么要java环境变量配置?
- javaweb项目开启ssi包含
- 解决Eclipse导入ApiDemos后R.java不自动生成的问题
- Spring MVC 学习 之 - URL参数传递
- Java Collection 接口、Set 接口、List 接口基本操作 练习
- Java获取当前日期前一周、前一个月、当年的时间、两个日期间的间隔天数
- 开源 java CMS - FreeCMS2.1公布
- java操作MySQL数据事务的简单学习
- JavaJdbc ORA-12505错误解决方法
- Spring2.5.6 和Spring3.0.5所有jar下载地址