找到 4330 篇文章 關於 Java 8

如何在 Java 中使用 lambda 表示式和方法引用實現 DoubleUnaryOperator?

raja
更新於 2020年7月14日 12:48:28

237 次瀏覽

DoubleUnaryOperator 是定義在 java.util.function 包中的一個函式式介面。這個函式式介面接受一個型別為 double 的輸入引數,併產生相同 型別的輸出。DoubleUnaryOperator 介面可以作為 lambda 表示式 和方法 引用的賦值 目標 。此介面包含一個抽象方法:applyAsDouble(),一個靜態方法:identity() 和兩個預設方法:andThen() 和 compose()。語法@FunctionalInterface public interface DoubleUnaryOperator { double applyAsDouble(double operand); }Lambda 表示式的示例import java.util.function.DoubleUnaryOperator; public class DoubleUnaryOperatorTest1 {  public static void main(String[] args) {    DoubleUnaryOperator getDoubleValue = doubleValue -> { // lambda 表示式        return doubleValue * 2;    }; ... 閱讀更多

如何在 Java 中使用 lambda 表示式和方法引用實現 LongSupplier?

raja
更新於 2020年7月14日 12:25:24

384 次瀏覽

LongSupplier 是 java.util.function 包中的一個內建函式式介面。此介面不接受任何輸入,但會產生一個長整數值輸出。由於 LongSupplier 是一個函式式介面,因此它可以用作 lambda 表示式 和方法 引用的賦值 目標 ,並且只包含一個抽象 方法:getAsLong()。語法@FunctionalInterface public interface LongSupplier { long getAsLong(); }Lambda 表示式的示例import java.util.function.LongSupplier; public class LongSupplierLambdaTest {  public static void main(String args[]) {    LongSupplier supplier = () -> {     // lambda 表示式        return 75;    };    long result = supplier.getAsLong();    System.out.println(result);  } }輸出75示例 ... 閱讀更多

如何在 Java 中使用 lambda 表示式和方法引用實現 LongPredicate?

raja
更新於 2020年7月14日 12:06:47

209 次瀏覽

LongPredicate 是定義在 java.util.function 包中的一個函式式介面。此介面主要用於評估型別為 long 的輸入並返回型別為 boolean 的輸出。LongPredicate 可以用作 lambda 表示式 或方法 引用的賦值目標。它包含一個抽象方法:test() 和三個預設方法:and()、negate() 和 or()。語法@FunctionalInterface interface LongPredicate { boolean test(long value); }Lambda 表示式的示例import java.util.function.LongPredicate; public class LongPredicateLambdaTest {  public static void main(String args[]) {    LongPredicate longPredicate = (long input) -> {     // lambda 表示式        if(input == 50) {       ... 閱讀更多

如何在 Java 中為陣列建立建構函式引用?

raja
更新於 2020年7月14日 12:05:06

4K+ 次瀏覽

建構函式 引用 類似於方法 引用 ,只是方法的名稱為 new。我們還可以使用陣列型別建立建構函式引用。例如,如果我們需要使用建構函式引用建立整數陣列:int[]:: new,其中引數是陣列的長度。語法陣列型別名稱[]::new示例@FunctionalInterface interface ArrayCreator {  int[] makeArray(int number); } public class ArrayConstructorRefTest {  public static void main(String[] args) {    ArrayCreator arrayCreator = int[]::new; // 陣列的建構函式引用    int[] intArray = arrayCreator.makeArray(10);    for(int i = 0; i < intArray.length; ... 閱讀更多

如何在 Java 中實現具有一個或多個引數的建構函式引用?

raja
更新於 2020年7月14日 11:50:12

8K+ 次瀏覽

方法引用也可以應用於 Java 8 中的建構函式。可以使用類 名稱 和 new 關鍵字建立建構函式 引用。建構函式引用可以賦值給任何定義了與建構函式相容的方法的函式式 介面引用。語法::new具有一個引數的建構函式引用的示例import java.util.function.*; @FunctionalInterface interface MyFunctionalInterface {  Student getStudent(String name); } public class ConstructorReferenceTest1 {  public static void main(String[] args) {    MyFunctionalInterface mf = Student::new;    Function f1 = Student::new; // 建構函式引用    Function f2 = (name) -> new Student(name);    ... 閱讀更多

如何在 Java 中使用 lambda 表示式實現 IntBinaryOperator?

raja
更新於 2020年7月14日 09:22:47

331 次瀏覽

IntBinaryOperator 是 Java 8 中來自 java.util.function 包的一個函式式介面。此介面接受兩個型別為 int 的輸入引數 併產生一個 int 型別結果。IntBinaryOperator 可以作為 lambda 表示式 或方法 引用的賦值目標。它只包含一個抽象 方法:applyAsInt()。語法@FunctionalInterface public interface IntBinaryOperator { int applyAsInt(int left, int right) }示例import java.util.function.*; public class IntBinaryOperatorTest {  public static void main(String[] args) {    IntBinaryOperator test1 = (a, b) -> a + b; // lambda 表示式    System.out.println("兩個引數的加法:"+ test1.applyAsInt(10, 20));    IntFunction test2 = new IntFunction() {   ... 閱讀更多

如何實現 Function介面以及 Java 中的 lambda 表示式?

raja
更新於 2020年7月14日 09:16:29

2K+ 次瀏覽

Function 介面是來自 java.util.function 包的一個函式式介面。此介面接受一個引數作為輸入併產生一個結果。Function 介面可以作為 lambda 表示式 或方法 引用的賦值目標。它包含一個抽象方法:apply(),兩個預設方法:andThen() 和 compose() 以及一個靜態方法:identity()。語法@FunctionalInterface public interface Function { R apply(T t); }示例import java.util.function.Function; public class FunctionTest {  public static void main(String[] args) {    Function f1 = i -> i*4; // lambda    System.out.println(f1.apply(3));    Function f2 = i -> i+4; // lambda   ... 閱讀更多

如何在 Java 中使用 lambda 表示式和方法引用實現 DoubleSupplier?

raja
更新於 2020年7月14日 09:12:01

389 次瀏覽

DoubleSupplier 介面是定義在 java.util.function 包中的一個 內建函式式介面。此函式式介面不接受任何輸入,但會產生一個雙精度數值輸出。DoubleSupplier 介面可以作為 lambda 表示式 和方法 引用的賦值目標。 此介面只包含一個抽象方法:getAsDouble()。語法@FunctionalInterface public interface DoubleSupplier {  double getAsDouble(); }Lambda 表示式的示例import java.util.concurrent.ThreadLocalRandom; import java.util.function.DoubleSupplier; public class DoubleSupplierLambdaTest {  public static void main(String args[]) {    DoubleSupplier getRandomDouble = () -> {     // lambda 表示式        double doubleVal = ThreadLocalRandom.current().nextDouble(0000, 9999);        return Math.round(doubleVal);    };    ... 閱讀更多

如何在 Java 中建立我們自己的/自定義函式式介面?

raja
更新於 2020年7月14日 08:50:12

瀏覽量:12K+

函式式介面是一個簡單的介面,只有一個抽象方法。Java 8 中可以使用 lambda 表示式透過函式式介面。我們可以透過在介面中定義單一抽象方法 (SAM) 來宣告我們自己的/自定義函式式介面。語法:interface CustomInterface { // 抽象方法 }示例:@FunctionalInterface interface CustomFunctionalInterface { void display(); } public class FunctionInterfaceLambdaTest { public static void main(String args[]) { // 使用匿名內部類 CustomFunctionalInterface test1 = new CustomFunctionalInterface() { public void display() { System.out.println("使用匿名內部類顯示"); ... 閱讀更多

如何在 Java 中使用 lambda 表示式實現 ObjLongConsumer 介面?

raja
更新於 2020年7月14日 08:42:51

瀏覽量:231

ObjLongConsumer 是來自 java.util.function 包的函式式介面。此介面接受物件值和長整型值引數作為輸入,但不產生任何輸出。ObjLongConsumer 可用作 lambda 表示式和方法引用的賦值目標,並且只包含一個抽象方法:accept()。語法:@FunctionalInterface public interface ObjLongConsumer { void accept(T t, long value) }示例:import java.util.function.ObjLongConsumer; public class ObjLongConsumerTest { public static void main(String[] args) { ObjLongConsumer olc = (employee, number) -> { // lambda 表示式 if(employee != null) { System.out.println("員工姓名:" + employee.getEmpName()); ... 閱讀更多

廣告
© . All rights reserved.