0

我收到 com.google.gwt.user.client.rpc.SerializationException 的 HashSet 异常。
最初我认为不支持 Long 的 HashSet。
但是https://developers.google.com/web-toolkit/doc/latest/RefJreEmulation包含这两者。

会有什么问题?

我在这里发布服务方法:

public Set<Long> getNamesFromIDs(Set<Long> ids) {
    return manager.getNamesFromIDs(ids);
}

这里,manager 是对包含在库中的 Manager 类的引用。我也发布了经理方法:

public Set<Long> getNamesFromIDs(Set<Long> styleIds) {
    List<Long> listIDs = new ArrayList<Long>(styleIds);
    Map<Long, Discount> personMap = personDAO.getStyleIdToDiscountMap(listIDs, 0);
    return personMap.keySet();
}

详细的异常消息:

com.google.gwt.user.client.rpc.SerializationException: Type 'java.util.HashMap$KeySet'   
was not included in the set of types which can be serialized by this 
SerializationPolicy or its Class object could not be loaded. 
For security purposes, this type will not be serialized.: instance = [30002, 30001]
4

1 回答 1

1

在此处输入图像描述

java.util 中的上述类由自定义字段序列化器序列化。

GWT 不支持 KeySet 的序列化。它没有实现 Serializable 接口(因此它在 Java 世界中也不是可序列化的)

于 2012-12-20T06:07:03.350 回答