Java函数式接口与Supplier函数式接口(函数.接口.Java.Supplier...)

wufei1232024-09-30java8

java 函数式接口是仅包含一个抽象方法的接口,允许将其作为参数或值传递。supplier 函数式接口是一种不接受参数并返回特定类型的对象的函数式接口,其用法如下:定义一个 supplier 函数式接口来返回一个值。调用 get() 方法获取值。实战案例:可以使用 supplier 函数式接口生成随机的学生名称和成绩值对。

Java函数式接口与Supplier函数式接口

Java 函数式接口与 Supplier 函数式接口

何为函数式接口

函数式接口是一种仅包含一个抽象方法的接口,它允许将其用作参数或值传递。

Supplier 函数式接口

Supplier 函数式接口是 Java 标准库中提供的函数式接口,它表示不接受任何参数并返回特定类型的对象的函数。

用法:

// 定义一个 Supplier 函数式接口来返回一个字符串
Supplier<String> supplier = () -> "Hello, world!";

// 调用 get() 方法获取值
String message = supplier.get();

实战案例:

假设有一个列表包含学生的成绩,需要创建一个函数式接口来生成每个学生的名称和成绩的随机值对。

import java.util.List;
import java.util.Random;
import java.util.function.Supplier;

class Student {
    private String name;
    private int score;

    public Student(String name, int score) {
        this.name = name;
        this.score = score;
    }

    public String getName() {
        return name;
    }

    public int getScore() {
        return score;
    }
}

public class SupplierDemo {
    public static void main(String[] args) {
        List<String> names = List.of("John", "Alice", "Bob");
        Random random = new Random();

        // 定义 Supplier 函数式接口来生成一个随机学生实例
        Supplier<Student> studentSupplier = () ->
                new Student(names.get(random.nextInt(names.size())), random.nextInt(100));

        // 创建 10 个随机学生并打印他们的名称和成绩
        for (int i = 0; i < 10; i++) {
            Student student = studentSupplier.get();
            System.out.println(student.getName() + ": " + student.getScore());
        }
    }
}

以上就是Java函数式接口与Supplier函数式接口的详细内容,更多请关注知识资源分享宝库其它相关文章!

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。