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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。