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


Supplier<T> 介面是一個預定義介面,表示結果的供應商。它使用lambda 表示式方法引用預設建構函式進行例項化。Supplier<T> 介面的功能方法是get() 方法。此介面屬於java.util.function 包。

語法

@FunctionalInterface
public interface Supplier<T>

在下面的程式中,我們可以在 lambda 表示式中使用Supplier 介面。get() 方法僅返回一個值且不接受任何引數,因此lambda 表示式有一個引數部分。

範例

import java.util.*;
import java.util.function.*;

public class SupplierTest {
   public static void main(String args[]) {
      Supplier<String> supplier1 = () -> "TutorialsPoint";   // lambda expression
      System.out.println(supplier1.get());

      Supplier<Integer> supplier2 = () -> 7;    // lambda expression
      System.out.println(supplier2.get());

      Person p = new Person("Raja");
      Person p1 = get(() -> p);
      Person p2 = get(() -> p);
      System.out.println(p1.equals(p2));
   }
   public static Person get(Supplier<Person> supplier) {
      return supplier.get();
   }
}

// Person class
class Person {
   public Person(String name) {
      System.out.println(name);
   }
}

輸出

TutorialsPoint
7
Raja
true

更新於: 2020 年 7 月 13 日

6K+ 次瀏覽

開啟你的職業生涯

透過完成該課程來獲取認證

立即開始
廣告