Java 8 | Interfaz ObjLongConsumer con ejemplo

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);
    }
}
Producción:

600000
400000
1000000
1400000
800000

Publicación traducida automáticamente

Artículo escrito por psil123 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *