La interfaz ObjLongConsumer es parte del paquete java.util.function que se introdujo desde Java 8 para implementar la programación funcional en Java. Representa una función que toma dos argumentos y produce un resultado. Sin embargo, este tipo de funciones no devuelven ningún valor.
Por lo tanto, esta interfaz funcional incluye una genérica, a saber:
- T : denota el tipo del argumento de entrada a la operación
La expresión lambda asignada a un objeto de tipo ObjLongConsumer se usa para definir su accept() que eventualmente aplica la operación dada en su argumento. Toma un argumento de valor largo y de valor T y se espera que opere sin efectos secundarios. Es más como usar un objeto de tipo BiConsumer <T, Long> excepto por el hecho de que uno es una referencia y el otro es un tipo de datos primitivo en este caso. Por lo tanto, obtendremos una referencia y un valor cuando se llame a esta función.
Funciones en la interfaz ObjLongConsumer
La interfaz ObjLongConsumer consta de las siguientes dos funciones:
1. aceptar()
Este método acepta dos valores y realiza la operación en los argumentos dados.
Sintaxis:
void accept(T t, long value)
Parámetros: Este método toma dos parámetros:
- t – el primer argumento de entrada
- valor – el segundo argumento de entrada
Valor devuelto: este método no devuelve ningún valor.
A continuación se muestra el código para ilustrar el método accept():
Programa:
// Java code to demonstrate // accept() method of ObjLongConsumer Interface import java.util.Arrays; import java.util.List; import java.util.function.ObjLongConsumer; import java.util.stream.Stream; public class GFG { public static void main(String args[]) { // Get the list from which // the Interface is to be instantiated. List<Integer> arr = Arrays.asList(3, 2, 5, 7, 4); // Instantiate the ObjLongConsumer interface ObjLongConsumer<List<Integer> > func = (list, num) -> { list.stream() .forEach( a -> System.out.println(a * num)); }; func.accept(arr, 200000); } }
600000 400000 1000000 1400000 800000