不可以,您不能将参数传递给方法引用。您可以做的是创建一个返回a的方法
Consumer:
private static Consumer<Integer> printWithPrefix(String prefix) { return number -> System.out.println(prefix + number);}然后
Consumer,它将用作创建工厂的工厂,您可以将其传递给
numbers.forEach:
String prefix = "The number is :";numbers.forEach(printWithPrefix(prefix));
您甚至可以使它更通用一些,创建一个
printWithPrefix将a
Consumer作为参数的方法,这样,如果您愿意,可以传入另一个参数:
private static Consumer<Integer> printWithPrefix(String prefix, Consumer<Integer> printer) { return number -> { System.out.print(prefix); printer.accept(number); };}例如,您可以通过以下
printNumber方法使用它:
private static void printNumber(Integer number) { System.out.println(number);}String prefix = "The number is :";numbers.forEach(printWithPrefix(prefix, Main::printNumber));


