首页 > 图灵资讯 > 技术篇>正文

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

2024-09-29 20:09:12

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

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

Java 函数接口和 Supplier 函数式接口

函数接口是什么?

函数接口是一种只包含抽象方法的接口,允许它作为参数或值传递。

立即学习“Java免费学习笔记(深入);

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函数式接口的详细内容,更多请关注图灵教育的其他相关文章!

上一篇 Lambda表达式在Java中创建函数的机制是什么?
下一篇 返回列表

文章素材均来源于网络,如有侵权,请联系管理员删除。