Рубрики

Интерфейс DoubleConsumer в Java с примерами

Интерфейс DoubleConsumer является частью пакета java.util.function , который был представлен с Java 8 для реализации функционального программирования на Java. Он представляет функцию, которая принимает один аргумент с двойным значением, но не возвращает никакого значения.

Лямбда-выражение, присвоенное объекту типа DoubleConsumer, используется для определения его accept (), которое в конечном итоге применяет данную операцию к своему единственному аргументу. Это похоже на использование объекта типа Consumer <Double>

Интерфейс DoubleConsumer состоит из следующих двух функций:

принимаем ()

Этот метод принимает одно значение и выполняет операцию с единственным аргументом.

Синтаксис:

void accept(double value)

Параметры: Этот метод принимает только один параметр:

  • значение — входной аргумент

Возвращает: этот метод не возвращает никакого значения.

Ниже приведен код для иллюстрации метода accept ():

import java.util.function.DoubleConsumer;

  

public class GFG {

    public static void main(String args[])

    {

  

        // Создаем экземпляр DoubleConsimer

        DoubleConsumer

            display

            = a -> System.out.println(a * 10);

  

        // используя метод accept ()

        display.accept(3);

    }

}

Выход:

30.0

а потом()

Он возвращает составной DoubleConsumer, в котором параметризованный DoubleConsumer будет выполнен после первого. Если при оценке какой-либо операции выдается ошибка, она передается вызывающей стороне составленной операции.

Примечание . Операция, передаваемая в качестве аргумента, должна иметь тип DoubleConsumer.

Синтаксис:

default DoubleConsumer andThen(DoubleConsumer after)

Параметры: Этот метод принимает параметр, после которого применяется DoubleConsumer после текущего.

Возвращаемое значение: Этот метод возвращает составной DoubleConsumer, который сначала применяет текущую операцию, а затем операцию после.

Исключение: этот метод генерирует исключение NullPointerException, если операция после равна нулю.

Ниже приведен код для иллюстрации метода andThen ():

Программа 1:

import java.util.function.DoubleConsumer;

  

public class GFG {

    public static void main(String args[])

    {

  

        // Создаем экземпляр DoubleConsimer

        DoubleConsumer display = a -> System.out.println(a * 10);

        DoubleConsumer mul = a -> a /= 2;

  

        // используя метод addThen ()

        DoubleConsumer composite = mul.andThen(display);

        composite.accept(3);

    }

}

Выход:

30.0

Программа 2: Чтобы продемонстрировать, когда возвращается NullPointerException .

import java.util.function.DoubleConsumer;

  

public class GFG {

    public static void main(String args[])

    {

  

        // Создаем экземпляр DoubleConsimer

        DoubleConsumer mul = a -> a /= 10;

  

        try {

  

            // используя метод addThen ()

            DoubleConsumer composite = mul.andThen(null);

  

            composite.accept(3);

        }

        catch (Exception e) {

            System.out.println("Exception : " + e);

        }

    }

}

Выход:

Exception : java.lang.NullPointerException

Программа 3: Чтобы продемонстрировать, как исключение в функции after возвращается и обрабатывается.

import java.util.function.DoubleConsumer;

  

public class GFG {

    public static void main(String args[])

    {

  

        try {

  

            DoubleConsumer

                conv

                = a

                -> System.out.println(

                    Integer

                        .parseInt(

                            Double

                                .toString(a)));

            DoubleConsumer mul = a -> a /= 10;

  

            // используя метод addThen ()

            DoubleConsumer composite = mul.andThen(conv);

  

            composite.accept(3);

        }

        catch (Exception e) {

            System.out.println("Exception : " + e);

        }

    }

}

Выход:

Exception : java.lang.NumberFormatException: For input string: "3.0"

Рекомендуемые посты:

Интерфейс DoubleConsumer в Java с примерами

0.00 (0%) 0 votes