【发布时间】:2017-09-20 15:17:14
【问题描述】:
我正在尝试实现一个在 Jexl 表达式中表现得像 Boolean 的自定义类:
示例:
Object result = jexl.createExpression("a || b").evaluate(context)
其中a 和b 是自定义类的实例,其中包含boolean 和应通过评估表达式携带的额外信息,以便最终可以在result 中访问它。
我已经读到 Jexl3 应该支持运算符重载,并且它似乎具有为自定义类定义自己的运算符的所有必要结构 - 但是我无法理解这样做需要哪些步骤。
我已经尝试通过自定义实现扩展Uberspect 和JexlArithmetic,但是我只发现使用toBoolean 我可以将我的自定义对象转换为Boolean(这使得result 成为Boolean -因此我丢失了所有额外的信息)。
如何正确使用/扩展 Jexl 为自定义类提供布尔运算符?
【问题讨论】:
标签: java operator-overloading jexl