如何在 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+ 次浏览

开启你的职业生涯

通过完成该课程来获取认证

立即开始
广告
© . All rights reserved.