在GWT项目(2.7.0)上工作时,我遇到了非常奇怪的客户端代码行为。
以下代码抛出错误“SEVERE:(ReferenceError):Ljava_io_Serializable_2_classLit_0_g $未定义com.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);
答案 0 :(得分:1)
GWT 2.7的超级开发模式(以及你的类文字字段中的_g$
,我认为这就是你正在使用的)已被观察到有这样的其他问题,但是在编译时问题就会消失
如果这确实是您所看到的,那么问题似乎已修复为2.8,尚未发布:https://groups.google.com/d/topic/google-web-toolkit/RzsjqX2gGd4/discussion
这种行为绝对不是预期的,但是如果你可以确认在为生产和GWT 2.8编译时这是正常的,那么我们至少知道错误是固定的。
答案 1 :(得分:0)
嗯,Arrays.asList的典型用法是
\\S
这适用于GWT,你可以使用任何类型的接口/类/枚举。
编辑:我用GWT 2.5.1进行了测试:
Object myObj = new Object();
List theList = Arrays.asList(new Object[] {myObj});
问题是否可能出现在其他地方?