Java8中的方法引用是什么?

Java中的Lambda表达式使您可以将功能作为参数传递给方法。您也可以使用lambda表达式调用现有方法。

list.forEach(n -> System.out.println(n));

方法引用是简单,易于阅读的lambda表达式,可通过lambda表达式来调用/引用以及现有方法的名称。

语法

Object:methodName

示例

假设,如果我们有一个名为myInterface的接口,我们可以将功能/实现作为对象值传递,如下所示-

interface myInterface{

   void greet();

}

public class MethodReferences {

   public static void main(String args[]) {

      myInterface in = ()->System.out.println("Sample method");;

      in.greet();

   }

}

如果我们已经有此方法的实现,则可以将lambda表达式用作-

interface myInterface{

   void greet();

}

public class MethodReferences {

   public void demo() {

      System.out.println("Sample method");

   }

   public static void main(String args[]) {

      MethodReferences obj = new MethodReferences();

      myInterface in = ()-> obj.demo();

      in.greet();

   }

}

您可以使用方法引用而不是lambda表达式来引用现有方法,例如-

interface myInterface{

   void greet();

}

public class MethodReferences {

   public void demo() {

      System.out.println("Sample method");

   }

   public static void main(String args[]) {

      MethodReferences obj = new MethodReferences();

      myInterface in = obj::demo;

      in.greet();

   }

}

输出结果

Sample method

以上是 Java8中的方法引用是什么? 的全部内容, 来源链接: utcz.com/z/327314.html

回到顶部