java1.8之supplier理解

java1.8之supplier理解supplier 也是是用来创建对象的 但是不同于传统的创建对象语法 new 看下面代码 publicclassT privateintag TestSupplier System out println age publicstatic String args 创建 Supplier 容器

supplier也是是用来创建对象的,但是不同于传统的创建对象语法:new,看下面代码:

public class TestSupplier { private int age; TestSupplier(){ System.out.println(age); } public static void main(String[] args) { //创建Supplier容器,声明为TestSupplier类型,此时并不会调用对象的构造方法,即不会创建对象 Supplier 
  
    sup= TestSupplier::new; System.out.println("--------"); //调用get()方法,此时会调用对象的构造方法,即获得到真正对象 sup.get(); //每次get都会调用构造方法,即获取的对象不同 sup.get(); } } 
  

 

输出结果:

 

-------- 0 0 

 

官方代码及注释

 

/ * Represents a supplier of results. * * 

There is no requirement that a new or distinct result be returned each * time the supplier is invoked. * *

This is a functional interface * whose functional method is {@link #get()}. * * @param the type of results supplied by this supplier * * @since 1.8 */ @FunctionalInterface public interface Supplier { / * Gets a result. * * @return a result */ T get(); }

根据代码和官方注释,我的个人理解:

1.supplier是个接口,有一个get()方法

2.语法 :

Supplier 
  
    sup= TestSupplier::new; 
  

3.每次调用get()方法时都会调用构造方法创建一个新对象。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/219728.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午10:01
下一篇 2026年3月17日 下午10:02


相关推荐

  • 解决ClaudeCode登录Invalid API key错误(远程连接Mac完整指南)

    解决ClaudeCode登录Invalid API key错误(远程连接Mac完整指南)

    2026年3月15日
    3
  • js原生实现FastClick事件

    js原生实现FastClick事件js原生实现FastClick事件注明:本人学习javascript时间不长,最近一直在做web端的手机网页和微信应用,由于最近有用到类似fastclick的功能,在原来的程序中用touchstart和touchend事件模拟,现在尝试将其封装,得到了以下两种有问题的方案。分享给大家,另求大神指导

    2022年6月19日
    27
  • anaconda与pycharm配合使用_python环境搭建

    anaconda与pycharm配合使用_python环境搭建前天下了一个GitHub开源项目,但是项目的运行是可以用终端命令行运行,以前没用过,在网上也没找到教程说明。下面我来说个简单教程。这个是搭配anaconda的配置环境使用的。首先点pycharm的terminal,就会进入终端命令行,进去了一般是进入了cmd命令行界面,这个时候的环境是你系统自带的python环境,想要配合使用anaconda还要进一步配置点windows找到上面那个嘿嘿的Anacondaprompt,右键进入文件夹,再右键点击属性,进入下面的界面将包括cm

    2022年8月28日
    6
  • 结合Cookie的简单图片验证码的工作原理探究

    结合Cookie的简单图片验证码的工作原理探究在系统登录时,往往需要同时提交一个验证码。验证码的作用是验证登录者是不是人,因为人能轻松识别的图片,对于机器来说难度却比较大,因此在登陆时进行验证码校验可以阻断大部分爬虫机器人的骚扰,成本低,收益大,使得图片验证码得到了广泛的应用。本文通过网络分析的方式,stepbystep地探索了图片验证码的工作原理,文章技术门槛低,可读性和可操作性较强,适用于各种闲着没事干的无聊分子。1.百度“系统登录”,随便找了个登录网站:http://scm.fstvgo.com/2.打开该网站,按F12打开.

    2022年7月15日
    19
  • idea2020.2.1激活码【2021免费激活】

    (idea2020.2.1激活码)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html3MRUAPM31O-eyJsaWNlbnNlSW…

    2022年3月29日
    581
  • Java安全之Weblogic内存马

    Java安全之Weblogic内存马0x00前言发现网上大部分大部分weblogic工具都是基于RMI绑定实例回显,但这种方式有个弊端,在WeblogicJNDI树里面能将打入的RMI后门查看

    2021年12月13日
    53

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号