gpt4 book ai didi

java - 如何创建 JsArray 作为 JavaScriptObject

转载 作者:行者123 更新时间:2023-12-01 13:36:02 25 4
gpt4 key购买 nike

我需要一个包含 JsArray 和 String 的 JavaScriptObject。该 JsArray 应该具有像普通 GWT JsArray 一样的所有功能,如 push()、pop() 等。但如何创建它呢?我已经创建了一些我想要的东西,但它不起作用

public class Tour extends JavaScriptObject {

protected Tour() {
// TODO Auto-generated constructor stub
}

public static Tour getInstance(){
return JavaScriptObject.createArray().cast();
}

public final native void setTourName(String name)/*-{
this.name = name;
}-*/;

public final native String getTourName()/*-{
return this.name;
}-*/;

public final native JsArray<JavaScriptObject> getArray() /*-{
return this.array;
}-*/;

public final native void setJsArray(JsArray<JavaScriptObject> array)/*-{
this.array = array;
}-*/;

public final native void push(JavaScriptObject obj)/*-{
this.array.push(obj);
}-*/;

public final native int getLength()/*-{
this.array.length;
}-*/;

}

最佳答案

public class Tour extends JavaScriptObject {

protected Tour() {
}

public static Tour getInstance() {
return getInstance(null, null);
}

public static Tour getInstance(String name) {
return getInstance(name, null);
}

public static native Tour getInstance(String name, JsArray<JavaScriptObject> array) /*-{
return {
name : name,
array : array || []
};
}-*/;

// the rest of your class stays untouched...

public final native void setTourName(String name)/*-{
this.name = name;
}-*/;

public final native String getTourName()/*-{
return this.name;
}-*/;

public final native JsArray<JavaScriptObject> getArray() /*-{
return this.array;
}-*/;

public final native void setJsArray(JsArray<JavaScriptObject> array)/*-{
this.array = array;
}-*/;

public final native void push(JavaScriptObject obj)/*-{
this.array.push(obj);
}-*/;

public final native int getLength()/*-{
this.array.length;
}-*/;
}

关于java - 如何创建 JsArray 作为 JavaScriptObject,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21266487/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com