1

我们可以将泛型作为网络方法参数吗?例如 在界面中

@WebResult(name = "genericTest")
    @WebMethod
    public <T extends GenParent> String testGeneric(T t);

在 impl中:

 @Override
    @POST
    @Path("/generic")
    @Consumes({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML, MediaType.TEXT_PLAIN })
    @Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML, MediaType.TEXT_PLAIN })
    public <T extends GenParent> String testGeneric(T t) {
    return t.getClass().getSimpleName();
    }

这些示例类是:

import java.io.Serializable;

public class GenParent implements Serializable {

    private static final long serialVersionUID = 6189314185893149450L;

    private String a;
    private String b;
    // getter and setter    
}


public class GenChild extends GenParent {

    private static final long serialVersionUID = -7802747637373336039L;

    private String c;

    //getter and setter   
}

所以当我调用这个 web-method 时,我会传递与 GenChild 等效的 Xml。

可能吗?

4

0 回答 0