🔥 Liquor 表达式引擎基本使用(v1.2.7)
引入依赖
<dependency> <groupId>org.noear</groupId> <artifactId>liquor-eval</artifactId> <version>1.2.7</version> </dependency>
liquor 表达式引擎(ExpressionEvaluator)支持 java 所有的类型、及所有语法(比如泛型,lambda 表达式)。因为,它是基于 java 动态编译器及缓存构建的。
零依赖,包大小约为 36 KB。
实例化表达式引擎(全局可复用,线程安全)
ExpressionEvaluator evaluator = new ExpressionEvaluator();
常量表达式计算演示
// 数学运算 (Long) String exp1 = "1+2+3"; Integer result = (Integer) evaluator.eval(exp1); System.out.println(result); // 6 // 数学运算 (Double) String exp4 = "1.1+2.2+3.3"; Double result2 = (Double) evaluator.eval(exp4); System.out.println(result2); // 6.6 // 包含关系运算和逻辑运算 String exp2 = "(1>0||0<1)&&1!=0"; System.out.println(evaluator.eval(exp2)); // true // 三元运算 String exp3 = "4 > 3 ? \"4 > 3\" : 999"; System.out.println(evaluator.eval(exp3)); // 4 > 3
变量表达式计算演示
Map<String, Object> bindings = new HashMap<>(); bindings.put("a", 1); bindings.put("b", 2); evaluator.eval("(a + b) * 2", bindings);
函数库调用演示
不支持自定义函数,但可以使用整个 JDK 里的类,及自己定义类。
CodeSpec exp5 = new CodeSpec("Math.min(1,2)").imports(Math.class); System.out.println(evaluator.eval(exp5));

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
kunlun-admin v1.5.4 发布,昆仑管理系统
SpringCloud + React 前后端分离 微服务版 昆仑管理系统 v1.5.4 发布! 更新日志 1、登录成功后增加应用选择页面,实现多应用功能; 2、增加组织管理菜单及功能; 3、增加权限管理菜单及功能,实现SaaS权限控制,即角色管理功能权限,组织岗位管理数据权限; 4、调整用户管理菜单及功能; 5、优化并修复前端及后端若干问题。 系统介绍 昆仑管理系统是一套基于前后端分离架构的后台管理系统。kunlun-web 基于 React + Umi (乌米) + Ant Design (蚂蚁金服) 构建开发,提供前端解决方案;kunlun-service 基于 SpringBoot 与 Spring Cloud 构建开发,提供后端基于微服务架构的解决方案。系统通过 Apache Shiro 与 Jwt 组件,用 token 进行数据交互认证,可快速开发并独立进行 Docker 容器化部署。 使用说明 npm 安装前端依赖库,并启动 kunlun-home-web 与 kunlun-system-web 服务; 启动 PostgreSQL,执行 kunlun-baseda...
- 下一篇
IEEE Spectrum 2024:后起之秀 Typescript 和 Rust
2024 年 IEEE Spectrum Top Programming Languages 报告指出,Python 在这一年继续巩固其整体主导地位,在"Spectrum"综合排名中依然保持第一。“这主要得益于诸如 AI 等热门领域的流行库以及其教学优势 —— 对于当今的大多数学生来说,如果他们在学校学习一种编程语言,那就是Python。” 其次分别是 Java、Javascript、C++ 和 Typescript。相较去年,Typescript 的名中上升了好几位;尤其是在 Jobs ranking 中,它从去年的第 11 位攀升至如今的第 4 位。 另一个排名上升的语言是 Rust(18→11)。研究认为,得益于美国白宫 2 月份发布的那份呼吁使用内存安全的语言来取代 C 和 C++ 的网络安全报告,Rust 的关注度急剧上升。 与此同时,C 语言的受欢迎程度则出现了大幅下降,在 Spectrum 排名中从第 4 位跌至第 9 位,在 Jobs ranking 中从第 7 位跌至了第 13 位。 与往年一样,数据库查询语言 SQL 依然在 Jobs ranking 中排名第一,P...
相关文章
文章评论
共有0条评论来说两句吧...