В моем приложении я широко использую JsArray для хранения типов наложения.Я использую java.util.List для хранения своих клиентских POJO на Java.
По соображениям производительности и для унификации способа доступа к моей модели я планировал исключить списки и использовать только оболочки JSO.Учитывая обертку вокруг собственного массива, который может хранить любой объект Java:
public class JsArrayObject<T> extends JavaScriptObject {
protected JsArrayObject() {}
public final native T get(int index) /*-{
return this[index];
}-*/;
public final native void push(T value) /*-{
this[this.length] = value;
}-*/;
}
Безопасно ли хранить объекты Java таким образом?В документе сказано, что когда вы передаете Java-объект в JavaScript, результатом является «непрозрачное значение, доступное через специальный синтаксис».Это звучит странно для меня.Например, если я нажму Integer и попытаюсь получить его, будет сгенерировано исключение, потому что было найдено что-то отличное от Object (по крайней мере, в режиме dev).То же самое происходит с остальными примитивными оболочками Java.Помимо проблем с Java-примитивными оболочками, есть ли другие проблемы, о которых нужно знать?
Большое спасибо