我正在寻找使用mozilla rhino NativeArray类在Java中构建javascript数组的方法,
但是,当我尝试向NativeArray添加元素时,会抛出java.lang.UnsupportedOperationException

这是我的代码:

NativeArray array=new NativeArray(1);
array.add("cccc");


这是我收到的错误:

Caused by: java.lang.UnsupportedOperationException
    at org.mozilla.javascript.NativeArray.add(NativeArray.java:1826)


如果我从一开始就使用java数组创建NativeArray,那么一切都会很好。

String[] str=new String[2];
str[0]="aaaa";
str[1]="bbbb";
NativeArray array=new NativeArray(str);


我正在查看NativeArray源代码,但惊讶地发现add方法总是抛出错误
这是源代码:http://grepcode.com/file/repo1.maven.org/maven2/org.mozilla/rhino/1.7R4/org/mozilla/javascript/NativeArray.java#1825

注意:我使用的是mozilla rhino 1.7R4,这是到目前为止的最新版本

这是来自mozilla rhino的错误,还是我做错了什么?

谢谢

最佳答案

为本机数组实现.add()没有任何意义。它们是固定长度的数组,并且长度是恒定的。

请注意,.add()java.util.Collection界面中被标记为“可选操作”。

09-25 15:44