/ / Mozilla Rhino NativeArray.add () хвърля грешка - винаги - java, javascript, rhino

Mozilla Rhino NativeArray.add () хвърля грешка - винаги - java, javascript, rhino

Търся изграждане на javascript масив в Java, използвайки rhino на мозила NativeArray клас, но когато се опитам да добавя елементи 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)

Ако създам NativeArray с Java масив от началото, всичко работи чудесно.

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

Търсих изходния код на NativeArray и бях изненадан да видя, че методът за добавяне винаги хвърля грешка тук е изходният код: http://grepcode.com/file/repo1.maven.org/maven2/org.mozilla/rhino/1.7R4/org/mozilla/javascript/NativeArray.java#1825

Забележка: Използвам мозъла rhino 1.7R4, която е най-новата версия досега

Това е грешка от мозъла rhino или правя нещо нередно?

Благодаря

Отговори:

1 за отговор № 1

Няма смисъл да се прилага .add() за родния масив. Те са масиви с фиксирана дължина и дължината им е постоянна.

Забележи, че .add() се маркира като "опционална операция" в java.util.Collection интерфейс.


0 за отговор № 2

Можете да използвате следния код вместо да добавите ():

NativeArray array;
array.put(array.size(), array, result);