首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在JEXL中使用Array?

如何在JEXL中使用Array?
EN

Stack Overflow用户
提问于 2018-04-26 02:40:13
回答 2查看 2.2K关注 0票数 0

使用JEXL,我尝试初始化数组,而不是将元素添加到数组中,但是下面的代码给出了‘不可解决的属性'0'错误。

代码语言:javascript
复制
var abc=[]; 
abc[0]=5;

1)如何初始化空数组并继续在其中添加值?

2)我是否可以像列表一样使用它,在初始化时不需要指定大小?

EN

回答 2

Stack Overflow用户

发布于 2018-04-26 05:10:54

JEXL语法中,可以使用new函数初始化对象。

其他选项是在上下文数组中添加:

这是一个使用jexl2的工作示例:

代码语言:javascript
复制
    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);
票数 0
EN

Stack Overflow用户

发布于 2021-06-08 15:20:50

在JEXL中,语法[]创建一个Java数组,而不是List。作为一个数组,它有一个固定的大小,所以您不能向它添加值。但是,JEXL3.2有一个用于创建ArrayList文本的新语法。基本上,您可以添加...作为最后一个元素。

因此,在JEXL 3.2中,您的示例可以编写为:

代码语言:javascript
复制
var abc=[...]; 
abc.add(5);

有关更多信息,请参见JEXL文字语法引用

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50034040

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档