说我有一个通用的接口:绑定不匹配缓解
interface SomeInterface<T> {
...
}
和两种实现方式:
特定的一个(也许是SpecificClass
优化及其后代):
class SpecificImplementation<T extends SpecificClass> implements SomeInterface<T> {
...
}
和另一赶上所有的(也许可以处理所有类型,但效率非常低):
class CatchAllImplementation<T> implements SomeInterface<T> {
....
}
而且我希望有类似以下的一般方法:
public <T> SomeInterface<T> getImplementation(Class<T> clazz) {
if(SpecificClass.class.isAssignableFrom(clazz))
{
// do some specific stuff
...
// get specific optimised implementation for SpecificClass and descendents
return new SpecificImplementation<T>(); // bound mismatch error here
}
else
{
// do other stuff
...
// get inefficient catch all implementation in other cases
return new CatchAllImplementation<T>();
}
}
有减轻对绑定的失配误差的方法吗?某种强制编译器忽略它或类似的技巧?
我不必在具体实现上绑定类型参数,但我宁愿这样做。
你不能使用类似'类SpecificImplementation实现SomeInterface'或'类SpecificImplementation 实现SomeInterface '? –
JimmyB