Java DoubleConsumer接口及实例

Java DoubleConsumer接口及实例

DoubleConsumer接口java.util.function 包的一部分,它从Java 8开始引入,用于在Java中实现函数式编程。它表示一个函数,它接收一个双值参数,但不返回任何值。分配给DoubleConsumer类型的对象的lambda表达式被用来定义它的 accept() ,最终将给定的操作应用于它唯一的参数。这类似于使用一个类型为Consumer 的对象。 DoubleConsumer 接口由以下两个函数组成。

accept()

该方法接受一个值,并对其唯一的参数进行操作。语法

void accept(double value)

参数: 该方法只接收一个参数。

  • value – 输入参数

返回: 该方法不返回任何值。下面是说明accept()方法的代码。

import java.util.function.DoubleConsumer;
 
public class GFG {
    public static void main(String args[])
    {
 
        // Create a DoubleConsumer Instance
        DoubleConsumer
            display
            = a -> System.out.println(a * 10);
 
        // using accept() method
        display.accept(3);
    }
}

输出

30.0

andThen()

它返回一个组成的DoubleConsumer,其中参数化的DoubleConsumer将在第一个操作之后执行。如果任何一个操作的评估出现错误,它将被转达给组成操作的调用者。注意: 作为参数被传递的操作应该是DoubleConsumer类型的。语法

default DoubleConsumer andThen(DoubleConsumer after)

参数: 该方法接受一个参数 after ,它是要在当前操作之后应用的DoubleConsumer。

返回值: 该方法返回一个组成的DoubleConsumer,它首先应用当前操作,然后是after操作。

异常: 如果after操作为空,该方法抛出 NullPointerException 。下面是说明andThen()方法的代码:

程序1 :

import java.util.function.DoubleConsumer;
 
public class GFG {
    public static void main(String args[])
    {
 
        // Create a DoubleConsumer Instance
        DoubleConsumer display = a -> System.out.println(a * 10);
        DoubleConsumer mul = a -> a /= 2;
 
        // using addThen() method
        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[])
    {
 
        // Create a DoubleConsumer Instance
        DoubleConsumer mul = a -> a /= 10;
 
        try {
 
            // using addThen() method
            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;
 
            // using addThen() method
            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"

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程