我正在尝试使方法引用具有在类声明中指定的通用参数的方法.
所以我有:
public interface IExecutable
{
void execute(P parameter);
}
public class Parameter implements IParameter {
public void childSpecific() {
...
}
}
public class TestClass {
...
//somewhere in the code
public void foo(Parameter parameter) {
parameter.childSpecific();
}
public void test() {
IExecutable> executable = this::foo; //compilation error
// The type TestClass does not define inner(IParameter) that is applicable here
executable.execute(new Parameter()); //compilation error as well
// The method execute(capture#4-of ?) in the type IExecutable is not applicable for the arguments (Parameter)
}
...
}
具体来说,我在这里不知道可执行文件的具体通用类型.使用
IExecutable = ...
立即解决问题,但这种情况是不可能的.
显然,我做错了.但是如何使其工作呢?
谢谢.