假设我们有两个集合:set1 和 set2。我们想要检查 set1 是否包含 set2。

使用 MVEL 表达式可以实现如下:

import org.mvel2.MVEL;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;

public class Main {
    public static void main(String[] args) {
        Set<Integer> set1 = new HashSet<>(Arrays.asList(1, 2, 3, 4, 5));
        Set<Integer> set2 = new HashSet<>(Arrays.asList(3, 4));

        String expression = "set1.containsAll(set2)";
        Boolean result = (Boolean) MVEL.eval(expression, createVariables(set1, set2));

        System.out.println(result); // 输出 true
    }

    private static Object createVariables(Set<Integer> set1, Set<Integer> set2) {
        return new Object() {
            public Set<Integer> set1 = set1;
            public Set<Integer> set2 = set2;
        };
    }
}

在上面的例子中,我们创建了两个 Set 对象 set1 和 set2,分别包含了一些整数。我们使用 MVEL 表达式 "set1.containsAll(set2)" 来检查 set1 是否包含 set2。然后,我们通过调用 MVEL 的 eval 方法来执行这个表达式,并将 set1 和 set2 作为变量传递给该表达式。最后,我们将执行结果打印出来,结果为 true,表示 set1 包含 set2


原文地址: https://www.cveoy.top/t/topic/hZrU 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录