Java Supplier Interface with examples

 191 total views,  1 views today

Welcome to Java 8 Series. In this tutorial, you will learn about the Java Supplier Interface with examples.

Supplier is a Functional interface introduced as part of Java 8. It is available in java.util.function package.

What is the use of Supplier interface?

This interface is mainly used for just getting a result which is not based on the input. This interface doesn’t have any input arguments. Consider a case where we need to write a lambda expression which has no input argument and return a result. It just supplies result of any type.

Example

public class StaticReference {
	public static void main(String[] args) {
		Operation ops = () -> {
			return "My name";
		};
		String result = ops.getName();
		System.out.println(result);
	}

	interface Operation {
		String getName();
	}
}

When you look at the above example, we have a function interface with an abstract method which doesn’t have any input argument but return a value. So a lambda expression needs a target type which needs to be a functional interface and in this example, it is Operation interface.

Instead of creating our own function interface for this scenario, Java has provided us a Supplier interface. Let now see in-depth details on Java Supplier Interface with examples.

Supplier Interface

@FunctionalInterface
public interface Supplier<T>

Supplier interface contains an operation that doesn’t have input argument and returns a value

It is a functional interface and the functional method isget().

Method description

T get()
a result

Example of Supplier interface using lambda

public class StaticReference {
	public static void main(String[] args) {
		Supplier<String> supplier = () -> {
			return "My name";
		};
		String result = supplier.get();
		System.out.println(result);
	}
}

Example of Supplier interface using a Method reference

public class StaticReference {
	public static void main(String[] args) {
		Supplier<String> supplier = StaticReference::get;
		String result = supplier.get();
		System.out.println(result);
	}

	static String get() {
		return "My name";
	}
}

If you want to write a lambda expression with no arguments and returns a result, please use Java Supplier interface.

References

Java 8 Supplier official documentation

Thanks for reading. Please a comment and give us a thumbs up.

Tags :

About the Author

Rajasekar

Hey There, My name is Rajasekar and I am the author of this site. I hope you are liking my tutorials and references. Programming and learning new technologies are my passion. The ultimate idea of this site is to share my knowledge(I am still a learner :)) and help you out!. Please spread your words about us (staticreference.com) and give a thumbs up :) Feel free to contact me for any queries!.