Skip to content

bug反馈--aviator未处理好数字类型 #694

@lonelystone545

Description

@lonelystone545

public static void main(String[] args) { String expression = "let types = seq.set(123,456); return include(types, aa);"; Map<String, Object> env = Maps.newHashMap(); env.put("aa", 123); AviatorEvaluatorInstance INSTANCE = AviatorEvaluator.getInstance(); System.out.println(INSTANCE.execute(expression, env)); }
上面这段代码在5.3.0上执行结果为false,预期为true。
原因:env.put("aa", 123); 在java中,这里的123默认是int类型,但是aviator本身只有long类型,这里是不是应该统一将数字转换成long?

如果这样改:env.put("aa", (long)123); 执行结果为true,符合预期

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions