JEXL中如何判断一个列表是否包含另一个列表?
JEXL判断列表是否被另一个列表包含的实现方法
在JEXL中,单值匹配列表可以直接用=~运算符,但列表间的包含判断(即判断list2所有元素都存在于list1中)没有原生运算符支持,可通过调用Java集合类的方法实现:
实现代码
list1 = ["a","b","c","d"] list2 = ["b","c"] // 核心逻辑:将列表转为集合后调用containsAll方法 new java.util.HashSet(list1).containsAll(list2)
原理说明
JEXL允许直接调用Java标准库的API,HashSet的containsAll方法会检查调用者集合是否包含传入集合的所有元素,完全满足“list2被list1包含”的判断需求。
如果需要频繁使用该逻辑,也可以自定义JEXL函数封装此逻辑,但单次场景下直接使用上述表达式即可。
内容的提问来源于stack exchange,提问作者nr.iras.sk
相关产品推荐
相关产品推荐

