String expression = "${type == 1 && num !=1}"; 和map值比较

    String expression = "${type == 1 && num !=1}";

    Map<String, Object> vars = new HashMap<String, Object>();
    vars.put("type", 2);

我想让map里面的值和 字符串中得expression进行比较 看字符串中得type是不是等于1 字符串中得格式还有一种是

    String expression = "${type == 1 || num !=1}";

&& 和 || 暂时就这两种。
有没有什么好的思路或者直接贴代码也行。要按照字符串中格式返回true或者false,要都判断到。
就是为了判断 我map里的值和字符串里的一样不一样

这个MAP里只有TYPE的数据是吗,还是有另一个NUM的数据
再一个这个|| 短路或 跟 &&短路与 这两种符号使用了以后肯定不能保证全都判断到啊
因为问题提的不是很明确,所以我直接简单理解

这个TYPE的值除了1以外还有什么?如果是有限的且不重复的 比如只有1,2,3,4这几种值得话。
可以先判断字符串中有没有&& 来区分字符串中的判断条件是 与 还是 或
然后因为字符串的判断只有跟1的比较。所以你完全可以看取出的TYPE的值 是否存在于字符串中。
如果存在说明 这个值就是1 不存在就不是1 对吧
有这两个判断条件 其他的就没难度了
直接点说,你的判断条件无非就是:
if(expression.indexOf(map.get("type").toString())>0){
//如果符合条件说明map的值是1
//如果不符合条件说明map值不是1
//添加你的业务代码就可以了
}