Java DoubleSupplier Interface with examples

 192 total views,  2 views today

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

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

What is the use of DoubleSupplier interface?

This interface is mainly used for just getting a double-valued 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 double-valued result. It just supplies the result of the double-valued type.

Example

public class StaticReference {
	public static void main(String[] args) {
		Operation ops = () -> {
			return 1.0;
		};
		double result = ops.getValue();
		System.out.println(result);
	}

	interface Operation {
		double getValue();
	}
}

When you look at the above example, we have a function interface with an abstract method which doesn’t have any input argument but returns a double 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 DoubleSupplier interface. Let now see in-depth details on Java DoubleSupplier Interface with examples.

DoubleSupplier Interface

@FunctionalInterface
public interface DoubleSupplier

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

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

Method description

double getAsDouble()

Example of DoubleSupplier interface using lambda

public class StaticReference {
	public static void main(String[] args) {
		DoubleSupplier supplier = () -> {
			return 1.0;
		};
		double result = supplier.getAsDouble();
		System.out.println(result);
	}
}

Example of DoubleSupplier interface using a Method reference

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

	static double get() {
		return 1.0;
	}
}

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

References

Java 8 DoubleSupplier 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!.