Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 班级获胜';是否使用GWT-RPC进行序列化?_Java_Gwt_Serialization_Gwt Rpc - Fatal编程技术网

Java 班级获胜';是否使用GWT-RPC进行序列化?

Java 班级获胜';是否使用GWT-RPC进行序列化?,java,gwt,serialization,gwt-rpc,Java,Gwt,Serialization,Gwt Rpc,下面是我要发送的课程: public class DummyClass implements Serializable, IsSerializable { private Map<String, Object> properties = new HashMap<String, Object>(); public DummyClass() { // stuff } public Object getValue(String key) {

下面是我要发送的课程:

public class DummyClass implements Serializable, IsSerializable {

  private Map<String, Object> properties = new HashMap<String, Object>();


  public DummyClass() {
    // stuff
  }
  public Object getValue(String key) {
    return properties.getValue(key);
  }
  public void setValue(String key, Object value) {
    properties.put(key, value);
  }
}
我可以删除
映射属性中指定的泛型类型。。。但是除了
对象
可序列化
之外,属性映射中可以存储的内容没有限制

使用Java的标准序列化,类的实例可以很好地序列化

此外,GWT编译器没有显示任何警告或错误


有没有人能指出,我可以试着让这个工作

也许您可以尝试用更具体的方法(例如,
java.io.Serializable
)替换
getValue()
java.lang.Object
返回类型和
setValue()
方法的参数类型


请注意,如果您的对象只实现了
Serializable
(除此之外,不需要实现
IsSerializable

Serializable非常通用,它将导致编译器查找实现Serializable且位于源路径上的所有类。这将反过来导致为所有字段及其子类生成字段序列化程序。在导致此特定品牌的膨胀之前,请确保这确实是您想要的。对-事实上,应该提供更具体的类型。您能提供异常的堆栈跟踪吗?不幸的是,没有。。。我放弃了所有内容,只做了一个DTO来单独包含所有字段。。。问题肯定是“对象”或“可序列化”类型声明。。。GWT编译器将遍历并编译类路径上的每个
对象
可序列化
。您可以使用的另一个选项是在已经可序列化的类型中使用伪异步方法或字段,这些方法或字段引用允许的类型。Java序列化的基本原理是:要求Java序列化type对象就像给银行出纳员一张空白支票,告诉出纳员你想在支票中存入银行。永远不要在RPC数据传输对象中封装/嵌入不确定的对象。那么,如何将字符串键映射发送到各种值(例如日期、字符串、整数类型)?使用Java序列化可以很好地进行序列化。。。
  DummyClass dummy = new DummyClass();
  dummy.setValue("foo", "bar");
  ServiceImpl impl = Gwt.create(SampleService.class).doSomething(dummy);