我正在尝试重构一个类和一组子类,其中M类型确实扩展了任何东西,即使我们知道它必须是某种类型的子类.该类型是参数化的,我希望它的参数化类型可用于已经具有M值的子类.
有没有办法定义这个类,而不必在参数列表中包含冗余的K和V泛型类型.我希望能够让编译器从子类映射到的M中推断它们.
public abstract class NewParametrized<K, V, M extends SomeParametrized<K, V>> {
public void someMethodThatTakesKAndV(K k1, V v1) { }
}
Run Code Online (Sandbox Code Playgroud)
换句话说,我希望类声明看起来像:
public class NewParametrized<M extends SomeParametrized<K, V>> {
Run Code Online (Sandbox Code Playgroud)
K和V的类型将从M.的定义推断出来.