1、说明
这个接口是提供者的意思,只有一个抽象的get,没有默认的方法和静态的方法,导入一个泛T,get方法,返回一个泛T。
supplier也用于创建对象,但与传统的创建对象语法不同:new,
Supplier不同于Function,它不接受参数,直接为我们生产指定的结果,有点像生产者模式。
2、实例
class Person { String firstName; String lastName; Person() {} Person(String firstName, String lastName) { this.firstName = firstName; this.lastName = lastName; } }
实例扩展:
supplier也是是用来创建对象的,但是不同于传统的创建对象语法:new,看下面代码:
public class TestSupplier { private int age; TestSupplier(){ System.out.println(age); } public static void main(String[] args) { //创建Supplier容器,声明为TestSupplier类型,此时并不会调用对象的构造方法,即不会创建对象 Supplier<TestSupplier> sup= TestSupplier::new; System.out.println("--------"); //调用get()方法,此时会调用对象的构造方法,即获得到真正对象 sup.get(); //每次get都会调用构造方法,即获取的对象不同 sup.get(); } }
输出结果:
——–
0
0
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)