【JDK 8-函数式编程】4.4 Supplier

[一、Supplier 接口](#一、Supplier 接口)

二、实战

[Stage 1: 创建 Student 类](#Stage 1: 创建 Student 类)

[Stage 2: 创建方法](#Stage 2: 创建方法)

[Stage 3: 调用方法](#Stage 3: 调用方法)

[Stage 4: 执行结果](#Stage 4: 执行结果)


一、Supplier 接口

  • 供给型 接口: 无入参,有返回值(T : 出参类型)

  • 调用方法: T get();

  • 用途: 如 无参的工厂方法,即工厂设计模式创建对象,简单来说就是 提供者

java 复制代码
/**
 * * @param <T> the type of results supplied by this supplier
 */
@FunctionalInterface
public interface Supplier<T> {
    T get();
}

二、实战

Stage 1: 创建 Student 类

java 复制代码
public class Student {
    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

Stage 2: 创建方法

java 复制代码
    public static Student newStudent() {
        Supplier<Student> supplier = () -> {
            Student student = new Student();
            student.setName("默认名称");
            return student;
        };
        return supplier.get();
    }

Stage 3: 调用方法

java 复制代码
    public static void main(String[] args) {

        Student student = newStudent();
        log.info(student.getName());
    }

Stage 4: 执行结果

相关推荐
毕设小屋vx ylw2824264 分钟前
Java开发、Java Web应用、前端技术及Vue项目
java·前端·vue.js
TDengine (老段)9 分钟前
TDengine 字符串函数 CHAR 用户手册
java·大数据·数据库·物联网·时序数据库·tdengine·涛思数据
赵文宇(温玉)15 分钟前
构建内网离线的“github.com“,完美解决内网Go开发依赖
开发语言·golang·github
float_com20 分钟前
【java基础语法】------ 数组
java
qq74223498420 分钟前
Python操作数据库之pyodbc
开发语言·数据库·python
Joker1008521 分钟前
仓颉自定义序列化:从原理到高性能多协议实现
开发语言
Adellle24 分钟前
2.单例模式
java·开发语言·单例模式
散峰而望33 分钟前
C++入门(一)(算法竞赛)
c语言·开发语言·c++·编辑器·github
零雲34 分钟前
java面试:有了解过RocketMq架构么?详细讲解一下
java·面试·java-rocketmq
C_Liu_40 分钟前
13.C++:继承
开发语言·c++