是否可以根据参数更改Java中的方法签名?
例:
给定一个类,具有通用参数MyItem< T>.
假设这个类有一个返回T的方法
给出第二类’myReturner()’,其包含方法myreturn(MyItem< T>).
题:
我可以使myreturn(MyItem< T>)返回一个T对象,具体取决于MyItem的泛型参数吗?
我想这是不可能的,因为签名是在Java编译期间设置的,并且在编译时不知道T.
如果是这样,模拟方法的最佳方法是什么,它将返回不同的对象,具体取决于参数?
是为每种参数类型编写自己的方法唯一的方法吗?
解决方法:
像这样的东西?
private <T> T getService(Class<T> type) {
T service = ServiceTracker.retrieveService(type);
return service;
}