我有一个通用方法,我无法弄清楚如何编译
private ConditionalCheckRetryHandler<T> T getConditionalCheckRetryHandler() {
return new ConditionalCheckRetryHandler<T>;
}
理想情况下,我想致电<ClassName>getConditionalCheckRetryHandler()
并返回该类别,但T
似乎并不存在。有没有办法合理地做到这一点?
答案 0 :(得分:2)
您的代码无法编译。
如果你有课
class ConditionalCheckRetryHandler<T>{
//...
}
然后你可以使用以下方法
private <T> ConditionalCheckRetryHandler<T> getConditionalCheckRetryHandler() {
return new ConditionalCheckRetryHandler<>();
}
答案 1 :(得分:0)
通常我们使用runtime type token:
private ConditionalCheckRetryHandler<T> T getConditionalCheckRetryHandler(Class<T> returnType) {
return new ConditionalCheckRetryHandler<T>();
}
所以你可以这样称呼:getConditionalCheckRetryHandler(DesiredType.class)
。