Java 8 | Interfaz ObjDoubleConsumer con ejemplo

La interfaz ObjDoubleConsumer 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 ObjDoubleConsumer se usa para definir su accept() que eventualmente aplica la operación dada en su argumento. Toma un argumento de valor doble y valor T y se espera que opere sin efectos secundarios. Es más como usar un objeto de tipo BiConsumer <T, Double> 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 ObjDoubleConsumer

La interfaz ObjDoubleConsumer 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, double 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 ObjDoubleConsumer Interface
  
import java.util.Arrays;
import java.util.List;
import java.util.function.ObjDoubleConsumer;
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 ObjDoubleConsumer interface
        ObjDoubleConsumer<List<Integer> >
            func = (list, num) ->
        {
            list.stream()
                .forEach(
                    a -> System.out.println(a * num));
        };
        func.accept(arr, 2.0);
    }
}
Producción:

6.0
4.0
10.0
14.0
8.0

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 *