【JDK8之旅】——Supplier

简介: 【JDK8之旅】——Supplier

引言


本来计划总结一下java8中的方法引用,但是在使用方法引用的过程中,我们会不断的见到这个内建的函数式接口,首先我们来看一下源码

package java.util.function;
/**
 * Represents a supplier of results.
 * 这是一个提供结果的函数接口.
 * 特点:
 * (1)只有返回值
 * (2)没有输入参数
 * <p>There is no requirement that a new or distinct result be returned each
 * time the supplier is invoked.
 *
 * get()方法被调用时,对于一定要new出一个新对象 or 生成一个和之前结果不同的值 这两方面,都没有强制规定.
 * 这一接口函数的功能方法为:get()
 *
 * <p>This is a <a href="package-summary.html">functional interface</a>
 * whose functional method is {@link #get()}.
 *
 * @param <T> the type of results supplied by this supplier
 *
 * @since 1.8
 */
@FunctionalInterface
public interface Supplier<T> {
    /**
     * Gets a result.
     *
     * @return a result
     */
    T get();
}


对应源码中的注释,我大概这样理解:

使用demo:

public void test(){
        //创建Supplier容器,声明为TestSupplier类型,此时并不会调用对象的构造方法,即不会创建对象
    Supplier<RobotUser> user=RobotUser::new;
        //调用get()方法,此时会调用对象的构造方法,即获得到真正对象
    RobotUser user1 = user.get();
  }


每次调用get()方法的时候才会创建对象。并且每次调用创建的对象都不一样;


这个内建的函数借口,在下面分享方法引用的时候,频繁出现1

目录
相关文章
|
API
JDK8函数式接口之Supplier
JDK8函数式接口之Supplier
167 0
|
消息中间件 前端开发 JavaScript
软软猿妹问我JDK中眼花缭乱的Function/Consumer/Supplier/Predicate?(下)
哈喽,大家好,我是指北君。 JDK中有许多函数式接口,也会有许多方法会使用函数式接口作为参数,同时在各种源码中也大量使用了这些方法,那么我们在实际工作中应该如何使用!我们就来盘一盘,这样也有助于写出优雅的代码,使我们在阅读源码时事半功倍。
软软猿妹问我JDK中眼花缭乱的Function/Consumer/Supplier/Predicate?(下)
软软猿妹问我JDK中眼花缭乱的Function/Consumer/Supplier/Predicate?(上)
哈喽,大家好,我是指北君。 JDK中有许多函数式接口,也会有许多方法会使用函数式接口作为参数,同时在各种源码中也大量使用了这些方法,那么我们在实际工作中应该如何使用!我们就来盘一盘,这样也有助于写出优雅的代码,使我们在阅读源码时事半功倍。
软软猿妹问我JDK中眼花缭乱的Function/Consumer/Supplier/Predicate?(上)
|
2月前
|
存储 Ubuntu 安全
在Ubuntu 16.04上安装openjdk-6/7/8-jdk的步骤
在整个安装过程中,你可能需要管理员权限,因此你可能要使用 `sudo` 来获取必要的权限。记得做完每一个步骤后,都要检查输出,以确保没有发生错误,并且每项操作都成功完成。如果在安装过程中遇到问题,查看 `/var/log/` 下的日志文件对于问题的解决可能是有帮助的。
127 21
|
2月前
|
IDE Ubuntu Java
在Ubuntu18.04安装兼容JDK 8的Eclipse集成开发环境的指南。
完成以上步骤后,您将在Ubuntu 18.04系统上成功安装并配置了Eclipse IDE,它将与JDK 8兼容,可以开始进行Java开发工作。如果遇到任何问题,请确保每一步骤都正确执行,并检查是否所有路径都与您的具体情况相匹配。
103 11
|
1月前
|
Ubuntu Java Android开发
在Ubuntu 18.04上安装与JDK 8兼容的Eclipse版本的步骤。
安装过程结束后,您就可以开始使用Eclipse来开发您的Java项目了,并且确保它与JDK 8兼容无误。这个过程涉及的是一个基本的安装流程,针对使用Java 8的用户,Eclipse的其他配置和插件安装根据个人开发环境和需求来定制。
129 0
|
4月前
|
Java 关系型数据库 MySQL
在Linux平台上进行JDK、Tomcat、MySQL的安装并部署后端项目
现在,你可以通过访问http://Your_IP:Tomcat_Port/Your_Project访问你的项目了。如果一切顺利,你将看到那绚烂的胜利之光照耀在你的项目之上!
288 41
|
4月前
|
开发框架 Java 关系型数据库
在Linux系统中安装JDK、Tomcat、MySQL以及部署J2EE后端接口
校验时,浏览器输入:http://[your_server_IP]:8080/myapp。如果你看到你的应用的欢迎页面,恭喜你,一切都已就绪。
378 17
|
5月前
|
Oracle Java 关系型数据库
Tomcat和JDK的详细安装、下载和环境配置指南
以上就是JDK和Tomcat的下载、安装和环境配置的详细步骤。希望这个指南能帮助你顺利完成设置。
347 32
|
4月前
|
关系型数据库 MySQL Java
安装和配置JDK、Tomcat、MySQL环境,以及如何在Linux下更改后端端口。
遵循这些步骤,你可以顺利完成JDK、Tomcat、MySQL环境的安装和配置,并在Linux下更改后端端口。祝你顺利!
314 11