GWT Arrays.asList不适用于接口类型

时间:2015-05-19 06:22:37

标签: gwt

在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);

2 个答案:

答案 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});

问题是否可能出现在其他地方?

相关问题