我对以下格式的java方法引用有疑问;
acollection.foreach(的System.out ::的println);
我希望代码类似于;
acollection.foreach(System.PrintStream ::的println);
请您解释将实现(代码)与对象相关联的想法吗?
答案 0 :(得分:0)
PrintStream.println()
是一个实例方法,因此必须在实例(对象)上执行。
acollection.foreach(System.out::println);
就是这么做的。对于集合中的每个元素,它将在println
上执行System.out
。
acollection.foreach(System.PrintStream::println);
无效,因为没有给出PrintStream
的实例 - 而且因为System.PrintStream
不是有效的声明。