Работа над проектом GWT (2.7.0), я испытал очень странное поведение кода клиента.GWT Arrays.asList не работает с типами интерфейсов
Следующий код генерирует ошибку "СИЛЬНЫЙ: (ReferenceError): Ljava_io_Serializable_2_classLit_0_g $ не definedcom.google.gwt.core.client.JavaScriptException: (ReferenceError): Ljava_io_Serializable_2_classLit_0_g $ не определен".
Ошибка при вызове Arrays.asList()
с параметром, который имеет тип интерфейса. Является ли это ожидаемым поведением или ошибкой GWT?
// Working
Integer n1 = 1;
Arrays.asList(n1);
// Not working
Serializable n2 = 1;
Arrays.asList(n2);
Да, это работает, потому что «Объект» не является интерфейсом. Я знал об этом обходном пути, но я не ищу обходного пути – saasraily
@ Пример: Я пробовал, и он действительно работает. Но он не работает с Serializable. Очевидно, проблема возникает только тогда, когда интерфейс широко используется или реализуется GWT. Нерабочие интерфейсы, например: Runnable, HasText, HasCell – saasraily
Aha! Я просто помню, что Serializable в GWT не имеет большой совместимости, попробуйте использовать IsSerializable, если это возможно. Если вы хотите больше узнать об этом, прочитайте http://www.gwtapps.com/doc/html/com.google.gwt.doc.DeveloperGuide.RemoteProcedureCalls.SerializableTypes.html –