Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用泛型作为参数来接收稍后应用于特定方法的函数?_Java - Fatal编程技术网

Java 如何使用泛型作为参数来接收稍后应用于特定方法的函数?

Java 如何使用泛型作为参数来接收稍后应用于特定方法的函数?,java,Java,我正在努力做到这一点 首先,我有一个这样的界面: public void doSomething (String input, MyClass myMethod); 在我的实施过程中 public void doSomething (String input, MyClass myMethod){ myMethod.mySpecificMethod(input2); } 现在我检查java.util.function类,发现有一个functionanterface函数 到目前为止,我

我正在努力做到这一点

首先,我有一个这样的界面:

public void doSomething (String input, MyClass myMethod);
在我的实施过程中

public void doSomething (String input, MyClass myMethod){
    myMethod.mySpecificMethod(input2);
}
现在我检查java.util.function类,发现有一个functionanterface函数

到目前为止,我只是尝试用这个函数替换MyClass myMethod,但我确信有更好的方法(同样,这也不起作用)

知道怎么做吗?
当以后使用泛型时,我无法调用我的方法,我是否应该将泛型强制转换为所需的类?

根据您的示例,似乎
doSomething
需要一个接受
字符串且不返回任何内容的方法。这适合
消费者
界面:

public void doSomething (String input, Consumer<String> consumer){
    consumer.accept(input);
}

其中,
myMethod
MyClass

的一个实例,
java.util.function
包实际上是用于流和lambdas实用程序的,听起来您尝试做的事情与反射相关。如果你发布了
MyClass
的代码,可能会有所帮助。可能你应该这样做,我会将其标记为有效答案,但我刚刚意识到我提供了错误的信息,在实现中输入2是被处理的,你知道如何处理这些情况吗?@jpganz18什么是
input2
?我在你的问题中没有看到
input2
。我以前没有更新过它,因为这可能会改变答案,请看一看look@jpganz18输入2从哪里来?您没有将其传递给doSomething方法。我使用的是DDD,因此此方法在某种程度上是对以前创建的对象的验证,input2将是该DTO的一个字段
doSomething ("some string", myMethod::mySpecificMethod);