You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot如何编写SpEL表达式拼接变量并将结果转为全小写

实现方案

SpEL支持直接调用Java String类的公共方法,你只需要把原有拼接逻辑作为整体包裹,再调用toLowerCase()方法即可,修改后的代码如下:

@Cacheable(
  key="(#name+'::'+#age+'::'+#country).toLowerCase()"
)
public User validate(String name, String age, String country) {
  // 业务逻辑
}

注意点

  • 包裹拼接逻辑的括号不能省略:如果不加括号,toLowerCase()只会作用在最后一个#country参数上,name和age中的大写字母不会被转换
  • 该写法不会修改数字、分隔符::等非字母内容,仅会把所有大写英文字母转为小写
  • 另一种等效写法是给每个参数单独调用转小写方法后再拼接:#name.toLowerCase()+'::'+#age.toLowerCase()+'::'+#country.toLowerCase(),但这种写法冗余度高,后续新增参数需要重复加转小写逻辑,不推荐使用

效果验证

传入参数"John","24","USA"时,表达式先拼接得到John::24::USA,转小写后最终缓存key为john::24::usa,和预期结果一致。

内容的提问来源于stack exchange,提问作者theprogrammer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 16:39:19