我遇到了Java中泛型的问题,我无法找到类似方式使用泛型的人的在线解决方案或示例。我有一组处于相同请求/响应结构中的方法。例如,用户填充Request对象中的字段,将该对象传递给帮助器方法,并且它们返回Response对象。我的所有请求对象都从一个公共的Request超类(以及类似于Response超类的Response对象)扩展而来。我希望我的助手类也具有一致的结构,因此我使用了一个接口。下面是一些代码来说明...接口中的Java泛型
请求超类:
public class SuperRequest {
// ...
}
示例请求子类:
public class SubRequest extends SuperRequest {
// ...
}
响应超类:
public class SuperResponse {
// ...
}
实施例响应亚类:
public class SubResponse extends SuperResponse{
// ...
}
接口:
public interface SomeInterface {
public <T extends SuperRequest, U extends SuperResponse> U someMethod(T request);
}
你可以从界面看,我想传递一个对象,它是SuperRequest
一个孩子,我想返回一个对象,它是SuperResponse
一个孩子。下面是我的实现:
public class SomeImplementation implements SomeInterface {
@Override
public SubResponse someMethod(SubRequest request) {
return null;
}
}
在Eclipse中,我得到的编译错误,因为编译器告诉我,我有未实现的方法和@Override
符号“没有覆盖的超类型方法”。
任何人都可以帮助我吗?我的语法是不正确的还是我对泛型的理解有点偏离?任何帮助是极大的赞赏!
太棒了!我有一种感觉,我只是在语法/声明上有点偏离。谢谢您的帮助! – ggrigery 2012-02-20 16:51:17
没问题,一定要接受最好的答案;) – ggreiner 2012-02-20 16:51:45