如何在 Java 中使用 lambda 表示式實現 DoubleConsumer?
DoubleConsumer 是 java.util.function 包中的一個函式式介面。此函式式介面接受一個 帶雙引號的值 作為輸入,且不產生輸出。此介面可以用作 lambda 表示式 或 方法引用 的賦值目標。DoubleConsumer 包含一個抽象方法:accept() 和一個預設方法:andThen()。
語法
@FunctionalInterface
public interface DoubleConsumer {
void accept(double value);
}示例-1
import java.util.function.DoubleConsumer;
public class DoubleConsumerLambdaTest1 {
public static void main(String args[]) {
DoubleConsumer increment = doubleVal -> { // lambda expression
System.out.println("Incrementing " + doubleVal + " by one");
System.out.println("Current Value : "+ (doubleVal+1));
};
DoubleConsumer decrement = doubleVal -> { // lambda expression
System.out.println("Decrementing " + doubleVal + " by one");
System.out.println("Current Value : " + (doubleVal-1));
};
DoubleConsumer result = increment.andThen(decrement);
result.accept(777);
}
}輸出
Incrementing 777.0 by one Current Value : 778.0 Decrementing 777.0 by one Current Value : 776.0
示例-2
import java.util.Arrays;
import java.util.function.DoubleConsumer;
public class DoubleConsumerLambdaTest2 {
public static void main(String[] args) {
double[] numbers = {4.7d, 7d, 8.2d, 6.8d, 10.5d, 3.2d};
DoubleConsumer dconsumer = d -> System.out.print(d + " "); // lambda expression
Arrays.stream(numbers).forEach(dconsumer);
}
}輸出
4.7 7.0 8.2 6.8 10.5 3.2
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP