DoubleConsumer 接口是的一部分java.util.function从 Java 8 开始引入的包,用于实现函数式编程在 Java 。它表示一个接受一个双值参数但不返回任何值的函数。分配给 DoubleConsumer 类型的对象的 lambda 表达式用于定义其accept()最终将给定的操作应用于其唯一的参数。它类似于使用类型的对象消费者<Double>DoubleConsumer接口由以下两个函数组成:
accept()
此方法接受一个值并对其唯一参数执行操作。句法:
void accept(double value)
参数:该方法只接受一个参数:
- value- 输入参数
返回:该方法不返回任何值。下面是说明accept()方法的代码:
Java
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。返回值:此方法返回一个组合的DoubleConsumer,它首先应用当前操作,然后应用后操作。Exception:这个方法抛出NullPointerException如果后操作为空。下面是说明andThen()方法的代码:程序1:
Java
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被返回。
Java
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 函数中的异常。
Java
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"
相关用法
- Java Double equals()用法及代码示例
- Java Double floatVlaue()用法及代码示例
- Java Double isFinite()用法及代码示例
- Java Double longBitsToDouble()用法及代码示例
- Java Double max()用法及代码示例
- Java Double min()用法及代码示例
- Java Double sum()用法及代码示例
- Java Double compareTo()用法及代码示例
- Java Double toHexString()用法及代码示例
- Java Double toString()用法及代码示例
- Java Double valueOf()用法及代码示例
- Java Double doubleTorRawLongBits()用法及代码示例
- Java Double byteValue()用法及代码示例
- Java Double compare()用法及代码示例
- Java Double.compareTo()用法及代码示例
- Java Double doubleToLongBits()用法及代码示例
- Java Double doubleToRawLongBits()用法及代码示例
- Java Double doubleValue()用法及代码示例
- Java Double.equals()用法及代码示例
- Java Double floatValue()用法及代码示例
- Java Double hashCode()用法及代码示例
- Java Double intValue()用法及代码示例
- Java Double isInfinite()用法及代码示例
- Java Double isNaN()用法及代码示例
- Java Double longValue()用法及代码示例
注:本文由纯净天空筛选整理自psil123大神的英文原创作品 DoubleConsumer Interface in Java with Examples。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。