推荐一款好用的Java表达式执行引擎

最近在项目中需要根据不同的条件来做走不同分支的逻辑,那么就需要动态判断条件表达式结果(不想写一堆if else),研究了一番,发现了一个轻量级的Java表达式执行引擎:aviator,整个使用下来挺简单高效的,今天推荐给大家,下面介绍啊一下这款框架!
在这里插入图片描述

二.aviator简介

Aviator是一个轻量级、高性能的Java表达式执行引擎, 它动态地将表达式编译成字节码并运行,主要用于各种表达式的动态求值!相比Groovy这样的重量级脚本语言,aviator是非常轻量级的表达式执行引擎。

二.aviator特性

  • 支持绝大多数运算操作符,包括算术操作符、关系运算符、逻辑操作符、位运算符、正则匹配操作符(=~)、三元表达式
  • 支持传入变量

我在开发里用到的就是关系运算符,动态判断执行结果(true/false),以两个变量a、b为例看下aviator的执行方式:

图片

aviator提供了AviatorEvaluator#execute(java.lang.String)方法来执行操作运算符

  • 内置一套强大的常用函数库

图片

  • 支持自定义函数

如果自带函数不能满足开发需要, aviator还支持自定义函数,只要实现com.googlecode.aviator.runtime.type.AviatorFunction接口, 并注册到AviatorEvaluator即可使用!

注册函数通过AviatorEvaluator.addFunction方法, 移除可以通过removeFunction方法

  • 支持赋值

图片

aviator提供的特性还有很多,不再一一举例,github地址如下,有兴趣的可以进一步学习应用

https://github.com/killme2008/aviator

​​​​​​
更多内容欢迎关注个人微信公众号,一起成长!

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值