0

mozilla rhinoNativeArrayクラスを使用して java で javascript 配列を構築しようとしていますが、要素をNativeArrayaに追加しようとする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 のバグですか、それとも何か間違っていますか?

ありがとう

4

2 に答える 2

1

.add()ネイティブ配列に実装しても意味がありません。それらは固定長の配列で、長さは一定です。

インターフェイス.add()で「オプションの操作」としてマークされていることに注意してください。java.util.Collection

于 2013-04-03T21:05:15.207 に答える