找到 4330 篇文章 關於 Java 8
238 次瀏覽
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; }; ... 閱讀更多
386 次瀏覽
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示例 ... 閱讀更多
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) { ... 閱讀更多
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; ... 閱讀更多
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); ... 閱讀更多
333 次瀏覽
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() { ... 閱讀更多
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 ... 閱讀更多
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); }; ... 閱讀更多
13K+ 次瀏覽
功能介面是一個簡單的介面,只有一個抽象方法。在 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("使用匿名內部類顯示"); ... 閱讀更多
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()); ... 閱讀更多
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP