gpt4 book ai didi

java - 我如何在 GWT 中序列化一个复杂的类?

转载 作者:行者123 更新时间:2023-11-29 05:25:08 25 4
gpt4 key购买 nike

我想用 AutoBeans 序列化下面的类.

public class GetResults<T extends Dto> implements Result {

List<T> results;

protected GetResults() {
}

public GetResults(List<T> results) {
this.results = results;
}

public List<T> getResults() {
return results;
}

public void setResults(List<T> results) {
this.results = results;
}
}

这是我尝试过但失败的方法:

public class AutoBeanSerializer {
private final AutoBeanFactory factory;
public AutoBeanSerializer(AutoBeanFactory factory) {
this.factory = factory;
}

public String <T> encodeData(T data) {
AutoBean<T> autoBean = AutoBeanUtils.getAutoBean(data);
return AutoBeanCodex.encode(autoBean);
}

public <T> T decodeData(Class<T> dataType, String json) {
AutoBean<T> bean = AutoBeanCodex.decode(factory, dataType, json);
return bean.as();
}
}

上面的代码不适用于

public String encodeData(T data) {

有这些错误:

- T cannot be resolved to a type
- The type String is not generic; it cannot be parameterized with arguments
<T>

如何在 GWT 中使用抽象类型序列化上述类?

最佳答案

对于第二部分(与第一部分或标题中的问题无关),我在原始答案中的代码中有一个错字。方法 encodeData 应该在返回类型之前定义通用参数 T:

public <T> String encodeData(T data) {
AutoBean<T> autoBean = AutoBeanUtils.getAutoBean(data);
return AutoBeanCodex.encode(autoBean);
}

但是请注意,此代码对您的第一个类没有帮助,因为 AutoBeans 旨在自动实现类 bean 接口(interface),而不是常规 java 类。参见 http://code.google.com/p/google-web-toolkit/wiki/AutoBean有关如何使用 autobeans 的更多详细信息。

关于java - 我如何在 GWT 中序列化一个复杂的类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22976378/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com