Java中的 LongConsumer 接口和示例
LongConsumer 接口是Java .util 的一部分。从Java 8 开始引入的函数包,用于在Java中实现函数式编程。它表示一个函数,它接受一个长值参数但不返回任何值。
分配给 LongConsumer 类型对象的 lambda 表达式用于定义其accept()最终将给定操作应用于其唯一参数。它类似于使用 Consumer
LongConsumer 接口由以下两个函数组成:
接受()
此方法接受一个值并对其唯一的参数执行操作。
句法:
void accept(long value)
参数:该方法只接受一个参数:
- value – 输入参数
返回:此方法不返回任何值。
下面是说明 accept() 方法的代码:
import java.util.function.LongConsumer;
public class GFG {
public static void main(String args[])
{
// Create a LongConsimer Instance
LongConsumer
display
= a -> System.out.println(a * 100);
// Using accept() method
display.accept(3);
}
}
输出:
300
进而()
它返回一个组合的 LongConsumer,其中参数化的 LongConsumer 将在第一个之后执行。如果任一操作的评估引发错误,则会将其转发给组合操作的调用者。
注意:作为参数传递的操作应该是 LongConsumer 类型。
句法:
default LongConsumer andThen(LongConsumer after)
参数:此方法接受一个参数,在该参数之后是要在当前参数之后应用的 LongConsumer。
返回值:此方法返回一个组合的 LongConsumer,它首先应用当前操作,然后是 after 操作。
异常:如果 after 操作为 null,则此方法抛出NullPointerException 。
下面的程序说明了 andThen() 方法:
方案一:
import java.util.function.LongConsumer;
public class GFG {
public static void main(String args[])
{
// Create a LongConsimer Instance
LongConsumer
display
= a -> System.out.println(a * 10);
LongConsumer mul = a -> a *= 100;
// Using addThen() method
LongConsumer composite = mul.andThen(display);
composite.accept(3);
}
}
输出:
30
程序2:演示何时返回NullPointerException 。
import java.util.function.LongConsumer;
public class GFG {
public static void main(String args[])
{
try {
LongConsumer mul = a -> a *= 10;
LongConsumer 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.LongConsumer;
public class GFG {
public static void main(String args[])
{
try {
LongConsumer divide = a -> a = a / (a - 3);
LongConsumer mul = a -> a *= 10;
LongConsumer composite = mul.andThen(divide);
composite.accept(3);
}
catch (Exception e) {
System.out.println("Exception : " + e);
}
}
}
输出:
Exception : java.lang.ArithmeticException: / by zero