Java 是否可以通过方法引用传递参数?

Java 是否可以通过方法引用传递参数?,java,java-8,argument-passing,method-reference,Java,Java 8,Argument Passing,Method Reference,我有以下代码行: MyClass{ Runnable job; ... } 在其中一种方法中: this.job = myImporter::importProducts; 现在,importProducts是一个没有参数的方法: public void importProducts() { ... } 但我现在需要为这个方法添加参数 添加新参数后,第行: this.job = myImporter::importProducts; 他变得支离破

我有以下代码行:

MyClass{
    Runnable job; 
    ...    
}
在其中一种方法中:

this.job = myImporter::importProducts;
现在,
importProducts
是一个没有参数的方法:

public void importProducts() {
        ...
}
但我现在需要为这个方法添加参数

添加新参数后,第行:

this.job = myImporter::importProducts;
他变得支离破碎

可以修复它吗?

不可能将参数直接“绑定”到方法引用。在这种情况下,您可以轻松使用lambda:

this.job = () -> myImporter.importProducts(myNewArgument);

可选地,如果它符合您的情况,请考虑将零参数<代码>导入产品< /代码>方法,该方法仅用适当的参数值调用一个参数<代码>导入项< /代码>:

public void importProducts() {
    importProducts(myNewArgument);
}

private void importProducts(Type arg) {
    ...
}

这样,您的方法引用将像以前一样工作。

此作业的类型是什么?
importProducts
在更改后如何处理?
已损坏?
您有编译器错误吗?分享一下怎么样?你的问题很不清楚。你能提供一个实际代码的例子,我们可以用它来重现你的问题吗?