Java 在GWT中,我无法获取类异常的类型签名

Java 在GWT中,我无法获取类异常的类型签名,java,gwt,Java,Gwt,我在GWT中定义了一个泛型类型的类,如下所示。当我用一个类型扩展这个类或为这个类指定一个类型时,一切都正常,但在运行时我得到“无法为类筛选器获取类型签名”消息 @SuppressWarnings(“串行”) 公共类筛选器实现可序列化{ 私人信息过滤器; 私人T值; 公共筛选器(){} 公共筛选器信息getInfo(){return info;} public void setInfo(FilterInfo info){this.info=info;} 公共T getValue(){return

我在GWT中定义了一个泛型类型的类,如下所示。当我用一个类型扩展这个类或为这个类指定一个类型时,一切都正常,但在运行时我得到“无法为类筛选器获取类型签名”消息

@SuppressWarnings(“串行”)
公共类筛选器实现可序列化{
私人信息过滤器;
私人T值;
公共筛选器(){}
公共筛选器信息getInfo(){return info;}
public void setInfo(FilterInfo info){this.info=info;}
公共T getValue(){return value;}
public void setValue(T value){this.value=value;}
}
我从上面的类中删除下面的代码,然后类就可以正常工作了

private FilterInfo<T> info;
私有过滤器信息;
但是FilterInfo具有所有使用的先决条件(Serializable、T extends Serializable、默认构造函数)

@SuppressWarnings(“串行”)
公共类FilterInfo实现可序列化{
私有字符串名称;
私人阶级类型;
公共筛选器信息(){}
公共过滤器信息(字符串名称、类类型){
setName(名称);setType(type.getClass());
}
公共字符串getName(){return name;}
...
< /代码>  <代码>类< /代码>不是GWT可序列化的,因此既不是<代码> FieldFiels,也不是“代码>筛选器< /代码>。考虑编译器需要在编译器可访问的所有可能的类文字中留下,以支持此。

相反,可以找到一种不同的方法来描述
类型
数据,或者为
FilterInfo
构建一个CustomFieldSerialize,如果您支持一个简单的列表,它可以从流中读取并确定使用哪个类作为类型,或者是一种创建注册表的简单方法

private FilterInfo<T> info;
@SuppressWarnings("serial")
public class FilterInfo<T extends Serializable> implements Serializable {
private String name;
private Class<?> type;

public FilterInfo() { }
public FilterInfo(String name, Class<?> type) {
    setName(name);  setType(type.getClass());
}

public String getName() { return name; }
...