我在客户端使用EnumSet时遇到问题。
我收到此运行时错误消息:
java.util.EnumSet.EnumSetImpl不是默认的可实例化的(它必须是 有一个零参数构造函数或根本没有构造函数)并且具有 没有自定义序列化器。
这是一个已知问题吗?
这是我正在做的事情(基本上是一个hello world app)
服务
String echo (EnumSet<Names> name) throws IllegalArgumentException;
客户端:
echoServ.echo (EnumSet.of(Names.JOHN), new AsyncCallback<String>()
{ ....... });
共享枚举类 枚举名称{JOHN,NUMAN,OBAMA}
答案 0 :(得分:4)
这是GWT限制 - 请参阅http://code.google.com/p/google-web-toolkit/issues/detail?id=3028
最简单的解决方法是使用HashSet直到修复
答案 1 :(得分:0)
似乎问题是EnumSet
根据GWT的规则不可序列化:
有关详细信息,请参阅docs。