Lambda expressions are used for anonymous methods, whereas method references are used for existing ones.
Method references have been introduced with Java 8.
There are four types of method references:
Syntax:
Type::staticMethod
Example:
public class App { private interface Printable { public void print(String str); } public static void main(String[] args) { Printable p = App::writeWithStaticRef; p.print("This is an example of static method reference"); } public static void writeWithStaticRef(String str) { System.out.println(str); } }
Syntax:
instance::method
Example:
public class App { private interface Printable { public void print(String str); } public static void main(String[] args) { App app = new App(); Printable p2 = app::writeWithInstanceRef; p2.print("This is an example of instance method reference"); } public void writeWithInstanceRef(String str) { System.out.println(str); } }
Syntax:
Type:method
Example:
public class App { public static void main(String[] args) { Functionfunction = String::toString; System.out.println(function.apply("Third example")); } }
Syntax:
Type::new
Example:
public class App { public static void main(String[] args) { Suppliersupplier = App::new; System.out.println(supplier.get().getClass()); } }
Copyright © 2013 Welcome to the website of Davis Fiore. All Rights Reserved.