使用SpringEL获得字符串中的表达式运算结果

34 篇文章 0 订阅

概述

有时候会遇上奇怪的需求,比如解析字符串中表达式的结果。
这个时候自己写解析肯定是比较麻烦的,
正好SprinngEL支持加(+)、减(-)、乘(*)、除(/)、求余(%)、幂(^)运算,可以免去造轮子的功夫

解析字符串中的表达式结果

使用的时候要注意比较前后的类型,不然会抛异常的

比如字符串中存储了一个不完整的表达式
“>200”
我们拿到拼接后获得最终表达式
“100>200”
此时想获得这个结果怎么办呢,第一种就是拆分字符串然后写代码硬比较。
还有一种就是使用SpringEL表达式直接计算字符串中内容

ExpressionParser parser = new SpelExpressionParser();
Expression expression = parser.parseExpression("100<#value");
EvaluationContext context = new StandardEvaluationContext();
context.setVariable("value", 200);
//输出 true
System.out.println(expression.getValue(context));

在这里插入图片描述

SpringEL具体详细使用可以参考大佬们的博文

https://cloud.tencent.com/developer/article/1676200

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值