找到 4330 篇文章 關於 Java 8

如何在 Java 8 中使用 Comparator 和方法引用對列表進行排序?

raja
更新於 2020-07-13 09:23:06

1K+ 次瀏覽

Java 8 在 Comparator 介面中引入了更改,允許我們比較兩個物件。這些更改幫助我們更輕鬆地建立比較器。新增的第一個重要方法是 comparing() 方法。此方法接收 Function 作為引數,該引數確定要比較的值並建立 Comparator。另一個重要方法是 thenComparing() 方法。此方法可用於組合 Comparator。在下面的示例中,我們可以使用 comparing() 方法按名字對列表進行排序,然後使用 Comparator 介面的 thenComparing() 方法按姓氏排序。示例import java.util.*; public class MethodReferenceSortTest {    public static void main(String[] ... 閱讀更多

如何在 Java 中使用 lambda 和方法引用實現 ToIntFunction?

raja
更新於 2020-07-13 09:07:52

595 次瀏覽

ToIntFunction 是在 java.util.function 包中定義的內建函式式介面。此函式式介面期望一個引數作為輸入併產生一個 int 值的結果。它可以用作 lambda 表示式或方法引用的賦值目標。ToIntFunction 介面只包含一個方法,applyAsInt()。此方法對給定引數執行操作並返回 int 值的結果。語法@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 -> ... 閱讀更多

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

raja
更新於 2020-07-13 09:09:29

260 次瀏覽

ObjIntConsumer 介面是一種函式式介面,在 java.util.function 包中定義。此函式式介面期望一個物件值和 int 值的引數作為輸入,並且不產生任何輸出。它只包含一個函式方法,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) {         ... 閱讀更多

如何在 Java 中使用 lambda 表示式填充 Map?

raja
更新於 2020-07-13 09:11:10

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 ... 閱讀更多

如何在 Java 中使用 lambda 表示式反轉字串?

raja
更新於 2020-07-13 09:03:02

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) -> {   // ... 閱讀更多

如何在 Java 中序列化 lambda 函式?

raja
更新於 2020-07-13 08:45:42

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) ... 閱讀更多

如何在 Java 中的 lambda 表示式中使用 IntSupplier?

raja
更新於 2020-07-13 08:41:18

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 = () -> ... 閱讀更多

如何在 Java 中的 lambda 和方法引用中使用 IntStream?

raja
更新於 2020-07-13 08:42:07

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.*; ... 閱讀更多

如何在 Java 中的 lambda 表示式中使用 BooleanSupplier?

raja
更新於 2020-07-13 08:34:39

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());       ... 閱讀更多

如何在 Java 中的 lambda 表示式中使用 FileFilter 介面?

raja
更新於 2020-07-13 08:30:13

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 表示式         ... 閱讀更多

廣告
© . All rights reserved.