Aviator表达式求值引擎

Aviator是一款高性能、轻量级的Java表达式求值引擎,用于动态求值各类表达式。通过编译成Java字节码运行,提供算术、逻辑等操作符及自定义函数支持。本文介绍了其应用场景、maven依赖、自定义函数的创建和调用,以及效果演示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

应用场景

需求:用户组合系统函数制定公式,代码调用计算。
解决方法:本来是打算使用java编写一个编译器,但是工作难度较大,在网上搜索到别的解决方案,Aviator表达式求职引擎,解决问题。

简介

Aviator是一个高性能、轻量级的 java 语言实现的表达式求值引擎, 主要用于各种表达式的动态求值。 Aviator的语法是受限的, 它不是一门完整的语言, 而只是语言的一小部分集合。
Aviator的实现思路与其他轻量级的求值器很不相同, 其他求值器一般都是通过解释的方式运行, 而Aviator则是直接将表达式编译成Java 字节码, 交给JVM去执行。简单来说, Aviator的定位是介于Groovy这样的重量级脚本语言和IKExpression这样的轻量级表达式引擎 之间。
Aviator支持大部分运算操作符, 包括算术操作符、关系运算符、逻辑操作符、位运算符、正则匹配操作符(=~)、三元表达式(??, 并且支持操作符的优先级和括号强制优先级, 具体请看后面的操作符列表, 支持自定义函数.

maven依赖

		<!-- 表达式求值引擎 -->
		<dependency>
		    <groupId>com.googlecode.aviator</groupId>
		    <artifactId>aviator</artifactId>
		    <version>4.1.2</version>
		</dependency>

自定义函数

因为业务需要基础的函数作为组合公式的基础,所以要事先制定好自定义函数,Aviator的自定义函数需要类继承Abstract

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值