La interfaz ObjIntConsumer 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 ObjIntConsumer se usa para definir su accept() que eventualmente aplica la operación dada en su argumento. Toma un argumento con valor int y con valor T y se espera que opere sin efectos secundarios. Es más como usar un objeto de tipo BiConsumer <T, Int> 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 ObjIntConsumer
La interfaz ObjIntConsumer 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, int 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 ObjIntConsumer Interface import java.util.Arrays; import java.util.List; import java.util.function.ObjIntConsumer; 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 ObjIntConsumer interface ObjIntConsumer<List<Integer> > func = (list, num) -> { list.stream() .forEach( a -> System.out.println(a * num)); }; func.accept(arr, 2); } }
6 4 10 14 8