我正在尝试这样做
首先,我有一个像这样的界面:
public void doSomething (String input, MyClass myMethod);
在实施过程中,我拥有
public void doSomething (String input, MyClass myMethod){
myMethod.mySpecificMethod(input2);
}
所以现在我正在检查java.util.function类,发现有一个FunctionalInterface函数。
到目前为止,我只是尝试用此函数替换MyClass myMethod,但是我确定还有更好的方法(这也不起作用)。
任何想法如何? 以后使用泛型时,我无法调用方法,是否应该将泛型转换为所需的类?
答案 0 :(得分:3)
根据您的示例,看来doSomething
需要一个接受String
并且不返回任何内容的方法。这适合Consumer<String>
界面:
public void doSomething (String input, Consumer<String> consumer){
consumer.accept(input);
}
然后用以下命令调用它:
doSomething ("some string", myMethod::mySpecificMethod);
其中myMethod
是MyClass
的实例。