Скриптовый движок, превращающий целые числа в строки
Я использую javax ScriptEngine для проекта. Фактический вызов выглядит так:
public static Object runFunction(String function, Object[] arguments) throws ScriptException {
RHINO_SCRIPT_ENGINE.put("value", arguments);
return RHINO_SCRIPT_ENGINE.eval(function);
}
тогда как переменная arguments
содержит 2 объекта типа Integer
(1 и 2) и переменная function
содержит функцию для оценки "value[0] + value[1]"
В моем понимании с данными аргументами, оцениваемая функция должна возвращать значение int 3
вместо этого он выполняет конкатенацию строк и возвращает "12"
Я четко устанавливаю массив целых чисел для аргумента value
, Может кто-нибудь сказать мне, почему механизм сценариев обрабатывает его как массив строк в любом случае?