我是Web服务方面的专家。我写了一个通用类作为值持有者,如下所示:
public class SearchResult<T> {
private List<T> resultSet;
}
然后,我编写了一个Web服务方法:
public SearchResult<Book> getSearchResult(){
...
}
当我使用maven-jaxws-plugin生成客户端文件时,我发现通用类型信息不见了。他们看起来像:
public class SearchResult {
private List<Object> resultSet;
}
public SearchResult getSearchResult(){
...
}
我的问题是,jaxws是否可以保留此类通用类型信息?我尝试使用List作为返回类型,它确实起作用。
在此先感谢您的帮助。
最佳答案
如果客户端代码是使用源代码以外的任何内容生成的,则可能不包含通用信息。编译使用泛型的代码后,由于type erasure,有关泛型的信息会丢失。
关于java - 返回Web服务中的泛型类型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1878494/