/ / Mozilla Rhino NativeArray.add () está lanzando un error - siempre - java, javascript, rhino

Mozilla Rhino NativeArray.add () arroja un error - siempre - java, javascript, rhino

Estoy buscando construir una matriz javascript en java usando mozilla rhino NativeArray clase, Sin embargo, cuando trato de agregar elementos a NativeArray un java.lang.UnsupportedOperationException es aventado.

aquí está mi código:

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

y aquí está el error que estoy recibiendo:

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

Si creo NativeArray con una matriz java desde el principio, todo funciona muy bien.

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

Estaba buscando en el código fuente de NativeArray y me sorprendió ver que el método de agregar siempre arroja un error Aquí está el código fuente: http://grepcode.com/file/repo1.maven.org/maven2/org.mozilla/rhino/1.7R4/org/mozilla/javascript/NativeArray.java#1825

Nota: Estoy usando mozilla rhino 1.7R4, que es la última versión hasta ahora

¿Es esto un error de mozilla rhino o estoy haciendo algo mal?

Gracias

Respuestas

1 para la respuesta № 1

No tiene sentido implementar .add() para una matriz nativa. Se trata de matrices de longitud fija, y la longitud es constante.

Tenga en cuenta que .add() está marcado como una "operación opcional" en el java.util.Collection interfaz.


0 para la respuesta № 2

Puedes usar el siguiente código en lugar de agregar ():

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