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
- What is
LongFunction
? - Methods and Syntax
- Examples of
LongFunction
- Real-World Use Case
- 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
Post a Comment
Leave Comment