找到 4330 篇文章 適用於 Java 8
1K+ 次瀏覽
Java 8 在 Comparator 介面中引入了更改,允許我們比較兩個物件。這些更改幫助我們更輕鬆地建立比較器。新增的第一個重要方法是 comparing() 方法。此方法接收作為引數的 Function,該引數確定要比較的值並建立 Comparator。另一個重要方法是 thenComparing() 方法。此方法可用於組合 Comparator。在下面的示例中,我們可以使用 comparing() 方法按名字排序列表,然後使用 Comparator 介面的 thenComparing() 方法按姓氏排序。示例import java.util.*; public class MethodReferenceSortTest { public static void main(String[] ... 閱讀更多
595 次瀏覽
ToIntFunction 是在 java.util.function 包中定義的內建函式式介面。此函式式介面期望一個引數作為輸入併產生一個整數值結果。它可以用作 lambda 表示式或方法引用的賦值目標。ToIntFunction 介面只包含一個方法,applyAsInt()。此方法對給定引數執行操作並返回整數值結果。語法@FunctionalInterface public interface ToIntFunction { int applyAsInt(T value); }在下面的示例中,我們可以使用 lambda 表示式和方法引用實現 ToIntFunction。示例import java.util.function.ToIntFunction; import java.time.LocalDate; public class ToIntFunctionInterfaceTest { public static void main(String[] args) { ToIntFunction lambdaObj = value -> ... 閱讀更多
260 次瀏覽
ObjIntConsumer 介面是一種函式式介面,在 java.util.function 包中定義。此函式式介面期望一個物件值和整數值引數作為輸入,並且不產生任何輸出。它只包含一個功能方法,accept(Object, int)。語法@FunctionalInterface public interface ObjIntConsumer { void accept(T t, int value) }在下面的示例中,我們可以使用 lambda 表示式實現 ObjIntConsumer 介面。示例-1import java.util.function.*; public class ObjIntConsumerInterfaceTest1 { public static void main(String args[]) { ObjIntConsumer objIntConsumberObj = (t, value) -> { // lambda 表示式 if(t.length() > value) { ... 閱讀更多
2K+ 次瀏覽
Map 是一個集合物件,它在 Java 中將鍵對映到值。資料可以儲存在鍵/值對中,每個鍵都是唯一的。這些鍵/值對也稱為對映條目。在下面的示例中,我們可以使用 lambda 表示式填充 Map。我們將 Character 和 Runnable 引數傳遞給 Map 物件,並在 Map 類的 put() 方法中將 lambda 表示式作為第二個引數傳遞。我們需要傳遞命令列引數,無論使用者是否輸入 'h' 表示幫助和 'q' 表示退出,並藉助 Scanner 類。示例import java.util.*; public class PopulateUsingMapLambdaTest { public static void main(String[] args) { Map map = new ... 閱讀更多
3K+ 次瀏覽
String 是一個表示字元序列的物件,在 Java 中是不可變的。我們可以使用 String 類的 charAt() 方法反轉使用者輸入的字串,從字串中提取字元並將它們按相反的順序追加以反轉輸入的字串。在下面的示例中,我們需要使用 lambda 表示式和 Scanner 類反轉字串。示例import java.util.Scanner; interface StringFunc { String func(String n); } public class StringFuncLambdaTest { public static void main(String args[]) { Scanner sc = new Scanner(System.in); StringFunc reverse = (str) -> { // ... 閱讀更多
686 次瀏覽
序列化是一個將物件的狀態寫入位元組流的過程,以便我們可以透過網路傳輸它。如果 lambda 表示式的目標型別及其捕獲的引數已序列化,則可以序列化 lambda 表示式。但是,與內部類一樣,強烈建議不要序列化 lambda 表示式。在下面的示例中,我們可以使用 Function 介面序列化和反序列化 lambda 函式。示例import java.io.*; import java.util.function.Function; interface MyInterface { void hello(String name); } class MyImpl implements MyInterface { public void hello(String name) { System.out.println("Hello " + name); } } public class SerializeDeSerializeLambdaTest { public static void main(String[] args) ... 閱讀更多
790 次瀏覽
IntSupplier 是在“java.util.function”包中定義的函式式介面。此介面表示一個不帶引數的操作並返回 int 型別的結果。IntSupplier 介面只有一個方法,getAsInt() 並返回一個結果。此函式式介面可以用作 lambda 表示式或方法引用的賦值目標。語法@FunctionalInterface public interface IntSupplier { int getAsInt(); }示例import java.util.function.IntSupplier; public class IntSupplierTest { public static void main(String[] args) { IntSupplier intSupplier1 = () -> Integer.MAX_VALUE; // lamba 表示式 System.out.println("Integer 的最大值為:" + intSupplier1.getAsInt()); IntSupplier intSupplier2 = () -> ... 閱讀更多
5K+ 次瀏覽
IntStream 介面擴充套件了 Java 8 中的 BaseStream 介面。它是原始 int 值元素的序列,也是用於操作 int 值的專用流。我們還可以使用 IntStream 介面在 lambda 表示式和方法引用中迭代集合的元素。語法public interface IntStream extends BaseStream示例import java.util.stream.IntStream; public class StringToIntegerStreamTest { public static void main(String[] args) { String str = "Tutorials Point"; IntStream stream = str.chars(); stream.forEach(element -> System.out.println(((char)element))); // 使用 lambda 表示式 } }輸出T u t o r i a l s P o i n t示例import java.util.*; ... 閱讀更多
2K+ 次瀏覽
BooleanSupplier 是一個在 "java.util.function" 包中定義的功能介面。此介面可以用作 lambda 表示式或方法引用的賦值目標。BooleanSupplier 介面只有一個方法 getAsBoolean(),並返回一個布林結果,true 或 false。語法@FunctionalInterface public interface BooleanSupplier { boolean getBoolean(); }示例import java.util.function.BooleanSupplier; public class BooleanSupplierLambdaTest { public static void main(String[] args) { BooleanSupplier Obj1 = () -> true; BooleanSupplier Obj2 = () -> 5 < 50; // lambda 表示式 BooleanSupplier Obj3 = () -> "tutorialspoint.com".equals("tutorix.com"); System.out.println("Result of Obj1: " + Obj1.getAsBoolean()); ... 閱讀更多
663 次瀏覽
FileFilter 是來自 "java.io" 包的功能介面。它可以用作 lambda 表示式或方法引用的賦值目標。FileFilter 介面的例項傳遞給 File 類的 listFiles() 方法。FileFilter 介面有一個抽象方法 accept(),它測試指定抽象路徑名是否包含在路徑名列表中。語法@FunctionalInterface public interface FileFilterExampleimport java.io.File; import java.io.FileFilter; public class FileFilterTest { public static void main(String[] args) { File dir = new File("C:/Program Files/Java/jdk1.8.0_211"); File[] subDir = dir.listFiles((file) -> { // lambda 表示式 ... 閱讀更多
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP