Java LongFunction

📘 Premium Read: Access my best content on Medium member-only articles — deep dives into Java, Spring Boot, Microservices, backend architecture, interview preparation, career advice, and industry-standard best practices.

🎓 Top 15 Udemy Courses (80-90% Discount): My Udemy Courses - Ramesh Fadatare — All my Udemy courses are real-time and project oriented courses.

▶️ Subscribe to My YouTube Channel (176K+ subscribers): Java Guides on YouTube

▶️ For AI, ChatGPT, Web, Tech, and Generative AI, subscribe to another channel: Ramesh Fadatare on YouTube

Introduction

In Java, the LongFunction interface is a functional interface that represents a function that accepts a long-valued argument and produces a result. It is part of the java.util.function package and is commonly used for operations that transform or process long values into other types.

Table of Contents

  1. What is LongFunction?
  2. Methods and Syntax
  3. Examples of LongFunction
  4. Real-World Use Case
  5. Conclusion

1. What is LongFunction?

LongFunction is a functional interface that takes a long as input and returns a result of a specified type. It is useful for scenarios where long values need to be converted or processed into other forms.

2. Methods and Syntax

The main method in the LongFunction interface is:

  • R apply(long value): Applies this function to the given argument and returns a result.

Syntax

LongFunction<R> longFunction = (long value) -> { // operation on value return result; }; 

3. Examples of LongFunction

Example 1: Converting Long to String

import java.util.function.LongFunction; public class LongToStringExample { public static void main(String[] args) { // Define a LongFunction that converts a long to a string LongFunction<String> longToString = (value) -> "Number: " + value; String result = longToString.apply(123456789L); System.out.println(result); } } 

Output:

Number: 123456789 

Example 2: Calculating the Square

import java.util.function.LongFunction; public class SquareExample { public static void main(String[] args) { // Define a LongFunction that calculates the square of a long LongFunction<Long> square = (value) -> value * value; long result = square.apply(100L); System.out.println("Square: " + result); } } 

Output:

Square: 10000 

4. Real-World Use Case: Formatting File Sizes

In applications, LongFunction can be used to format file sizes (in bytes) into a human-readable string.

import java.util.function.LongFunction; public class FileSizeFormatter { public static void main(String[] args) { // Define a LongFunction to format file sizes LongFunction<String> formatFileSize = (size) -> { if (size < 1024) return size + " B"; int exp = (int) (Math.log(size) / Math.log(1024)); char pre = "KMGTPE".charAt(exp - 1); return String.format("%.1f %sB", size / Math.pow(1024, exp), pre); }; String formattedSize = formatFileSize.apply(123456789L); System.out.println("Formatted Size: " + formattedSize); } } 

Output:

Formatted Size: 117.7 MB 

Conclusion

The LongFunction interface is a practical tool in Java for transforming long values into other types. It is particularly useful in scenarios requiring data conversion or processing. Using LongFunction can lead to cleaner and more efficient code, especially in functional programming contexts.

Comments

Spring Boot 3 Paid Course Published for Free
on my Java Guides YouTube Channel

Subscribe to my YouTube Channel (165K+ subscribers):
Java Guides Channel

Top 10 My Udemy Courses with Huge Discount:
Udemy Courses - Ramesh Fadatare