Как использовать массив в JEXL? - PullRequest
0 голосов
/ 26 апреля 2018

Используя JEXL , я пытаюсь инициализировать массив и затем добавлять в него элементы, однако приведенный ниже код дает мне 'неразрешимое свойство' 0 ' ошибка.

var abc=[]; 
abc[0]=5;

1) Как я могу инициализировать пустой массив и продолжать добавлять значения в него?

2) Могу ли я использовать его как List, где мне не нужно указывать размер во время инициализации?

1 Ответ

0 голосов
/ 26 апреля 2018

в Синтаксис JEXL Вы можете инициализировать объекты с помощью функции new.

Другой вариант - добавить в контекстный массив:

Это рабочий пример с jexl2:

    JexlEngine jexl = new JexlEngine();
    String jexlExp = "var abc=new(\"java.util.ArrayList\", 1);abc[0]=5";
    Expression e = jexl.createExpression( jexlExp );
    List<Integer> abc = new ArrayList<>(1);
    JexlContext jc = new MapContext();
    //jc.set("abc", abc ); second option to add arraylist to context
    Object o = e.evaluate(jc);
...