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];
}-*/;
, 빠른하면서 후자는, 확장되지 않습니다.
정말 정확히 당신이해야할 일에 달려 있습니다. 제네릭을 사용
이처럼 할 수있는 :
public <T extends JavaScriptObject> JsArray<T> createGenericArray(T... objects) {
JsArray<T> array = JavaScriptObject.createArray().cast();
for (T object : objects) {
array.push(object);
}
return array;
}
물론, String
는 JavaScriptObject
를 확장하지 않습니다. 기본 유형을 설명하기 위해 오버로드가 필요할 수 있습니다. (또는 덜 안전하게, 당신은 임의의 종류 수 있도록 T
의 경계를 제거 할 수 있습니다 당신이 그렇게한다면 당신은 훨씬 더 조심해야 할 것입니다..)이 같은
사용 JsArrayUtils
:
JsArray<String> arr = JsArrayUtils.readOnlyJsArray(new String[] { string1, string2 });
는 자바 독에서보세요 : 조작
는 com.google.gwt.core.client.JsArrayUtils
유틸리티 클래스를 JS 배열. 새 메서드 을 추가하면 기존 하위 유형이 손상 될 수 있으므로 이러한 메소드는 JsArray와 같은 다른 JavaScriptObject 하위 클래스에 없습니다.