深入理解java1.8之supplier

网友投稿 244 2022-12-19


深入理解java1.8之supplier

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

public class TestSupplier {

private int aghttp://e;

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 #geQrSCLoSt()}.

*

* @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()方法时都会调用构造方法创建一个新对象。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java中Gson的使用详解
下一篇:SpringBoot使用thymeleaf模板过程解析
相关文章

 发表评论

暂时没有评论,来抢沙发吧~