我正在寻找使用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
界面中被标记为“可选操作”。