当前位置: 首页 > news >正文

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

概述

有时候会遇上奇怪的需求,比如解析字符串中表达式的结果。
这个时候自己写解析肯定是比较麻烦的,
正好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

http://www.lryc.cn/news/94346.html

相关文章:

  • 力扣 39. 组合总和
  • 基于BES系列蓝牙耳机NTC充电电池保护电路设计
  • 13-C++算法笔记-递归
  • 从古代八卦探究计算机的八进制
  • Linux shell mkfs.ext4命令参数使用
  • 【Docker】子系统与其相关名词的界定、Control Groups等详细讲解
  • spring事务的传播性与隔离性
  • 【设计模式】模板方法与策略模式的结合使用
  • Jmeter实现参数加密
  • Solon Web 开发:四、认识请求上下文(Context)
  • docker安装RocketMQ(附填坑经验connect to <172.17.0.3:10909> failed)
  • GRU、LSTM、注意力机制(第八次组会)
  • 问题杂谈(三十六)@RequestBody、@RequestParam和@PathVariable三个注解的区别和使用
  • Flutter学习四:Flutter开发基础(六)调试Flutter应用
  • 新的开始(开始更新笔记)
  • 爬虫工具-替换js文件ReRes插件/Gores插件
  • 多任务学习用于多模态生物数据分析
  • 使用less命令搜索文件中的关键字
  • 【kubernetes系列】Kubernetes之Taints和tolerations
  • 宝剑锋从磨砺出 梅花香自苦寒来(高考志愿篇)
  • Jtti:怎样进行sql server2000 日志传送
  • MyBatis-Plus:条件构造器Wrapper
  • SNMP 计算机网络管理 实验1(二) 练习与使用Wireshark抓取SNMP数据包抓包之 任务三分析并验证TCP三次握手建立连接时三次握手工作过程
  • 【UE5 Cesium】03-Cesium for Unreal 添加本地数据集
  • 数通王国历险记之地址分析协议(ARP)
  • Mac端显示服务器上show的内容
  • 【SQL】每类视频近一个月的转发量/率
  • chatgpt读论文
  • 关于visual studio 2010 及以上版本 引入boost库的最新解决方法
  • SpringBoot+ Dubbo + Mybatis + Nacos +Seata整合来实现Dubbo分布式事务