タイプTの値をJsArrayに変換する必要があります。GWT JsArrayを作成するには?
eg. I have String1, String2 .... Stringn
I need to convert those String into JsArray<String>
誰でも手伝ってもらえますか?事前に
おかげで、 Gnik
タイプTの値をJsArrayに変換する必要があります。GWT JsArrayを作成するには?
eg. I have String1, String2 .... Stringn
I need to convert those String into JsArray<String>
誰でも手伝ってもらえますか?事前に
おかげで、 Gnik
あなたは多くの選択肢を持っていない:JsArrayString
を作成し、それへの追加、またはJSNIを使用。
JsArrayString arr = JavaScriptObject.createArray().cast();
arr.push(str1);
arr.push(str2);
arr.push(str3);
又は明らか
static native JsArrayString asJsArray(String str1, String str2, String str3) /*-{
return [str1, str2, str3];
}-*/;
、後者は、より高速でありながら、スケーリングしません。
本当に正確に何をする必要があるかによって異なります。 String
はJavaScriptObject
を拡張していない、明らかに
public <T extends JavaScriptObject> JsArray<T> createGenericArray(T... objects) {
JsArray<T> array = JavaScriptObject.createArray().cast();
for (T object : objects) {
array.push(object);
}
return array;
}
:ジェネリックを使用して
は、このようにそれを行うことができます。プリミティブ型を考慮するにはオーバーロードが必要です。 (または、より少ない安全に、あなたは、任意のタイプのためにできるようにT
の境界を取り除くことができ、あなたがそうしていた場合は、はるかに注意する必要があると思います。)このような
使用JsArrayUtils
:
JsArray<String> arr = JsArrayUtils.readOnlyJsArray(new String[] { string1, string2 });
は、javadocを見てみましょう:操作するための
com.google.gwt.core.client.JsArrayUtils
ユーティリティクラスをJS配列。新しい メソッドを追加すると既存のサブタイプが壊れる可能性があるため、これらのメソッドは のJsArrayなどの他のJavaScriptObjectサブクラスにはありません。