我有一个这样的界面:
public interface GenericWSEndpoint<T1,T2> {
public void call(String url,String operationName, T1 requestObject, T2 responseObject,long timeout) throws Exception;
}
当我尝试用这个定义一个对象时,它给出了
org.apache.maven.BuildFailureException:编译失败:不兼容的类型
对象定义:
private static GenericWSEndpoint<BulkCheckBlockageRequest,BulkCheckBlockageResponse> endpoint=GenericWsEndpointFactory.createSpecificEndpoint(WSTypes.CXF);
和工厂代码:
public class GenericWsEndpointFactory{
public static <T1,T2> GenericWSEndpoint createSpecificEndpoint(WSTypes type){
switch (type) {
case CXF:
return new CXFWsEndPoint<T1,T2>();
}
return null;
}
}
和 CXFWsEndPoint(没有专门定义的构造函数):
public class CXFWsEndPoint<T1,T2> implements GenericWSEndpoint<T1, T2>{
.
.
}
我已经检查了有关此问题的答案,但它们与递归泛型等定义有关
有任何想法吗?
编辑:例外:
[INFO] 编译失败 ResponseManager\src\main\java\com\x\resman\util\WebServiceUtil.java:[57,142] 不兼容的类型;不存在类型变量 T1、T2 的实例,因此 com.x.rbm.ws.service.GenericWSEndpoint 符合 com.x.rbm.ws.service.GenericWSEndpoint 发现:com.x.rbm.ws .service.GenericWSEndpoint 需要:
com.x.rbm.ws.service.GenericWSEndpointequest,com.x.resman.model.checkblockage.BulkCheckBlockageResponse>