How to pass a function as a parameter in Java



Yes. From Java 8 onwards, we can do so using method references.

Method references help to point to methods by their names. A method reference is described using "::" symbol. A method reference can be used to point the following types of methods −

  • Static methods

  • Instance methods

  • Constructors using new operator (TreeSet::new)

Method Reference Example

Create the following Java program using any editor of your choice in, say, C:\> JAVA.

Java8Tester.java 

Live Demo 

import java.util.List; import java.util.ArrayList; public class Java8Tester {    public static void main(String args[]) {       List names = new ArrayList(); names.add("Mahesh");       names.add("Suresh");       names.add("Ramesh");       names.add("Naresh");       names.add("Kalpesh");       names.forEach(System.out::println);    } }

Here we have passed System.out::println method as a static method reference.

Verify the Result

Compile the class using javac compiler as follows − 

C:\JAVA>javac Java8Tester.java

Now run the Java8Tester as follows − 

C:\JAVA>java Java8Tester

Output

It should produce the following output − 

Mahesh Suresh Ramesh Naresh Kalpesh
Updated on: 2020-06-17T11:36:16+05:30

5K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements