传递类为了更好地理解我的问题返回一个类型类的权Java类型,请参阅以下类:与仿制药
public interface Invoker<R> {
public String getName();
public R getResult();
}
实现:
public class RepairFetcher implements Invoker<List<String>> {
@Override
public String getName() {
return this.getClass().getSimpleName();
}
@Override
public List<String> getResult() {
return new ArrayList<String>();
}
}
类的地方出错:
public class OperationService {
public <R> R invoke(Class<R> invoker, Object... parameters) {
WebserviceOperation<R> operation = new WebserviceOperation<R>(invoker);
Invoker<R> instance = operation.getInstance();
return instance.getResult();
}
}
主类:
public class Main {
public static void main(String[] args) {
OperationService operationService = new OperationService();
operationService.invoke(RepairFetcher.class, new Object[] {});
}
}
问题: 此时该方法
operationService.invoke(RepairFetcher.class,新的对象[] {});
返回RepairFetcher,这是因为在调用方法的参数的不那么怪异:
类调用
它返回R,其是RepairFetcher.class。
我想 我不想invoke方法返回RepairFetcher类,但我想它返回声明的类型,这是清单< String>终止。
这是可能的,如果是的话,如何实现这一点?
在此先感谢!
不错,像魅力一样工作! – NickGreen 2012-04-06 13:12:27