java8函数式接口Supplier的使用

1:说明

java提供了函数式接口java.util.function.Supplier,源码如下:

@FunctionalInterface
public interface Supplier<T> {
          
   

    /**
     * Gets a result.
     *
     * @return a result
     */
    T get();
}

作用是通过get方法返回一个T泛型的对象,因此这也是创建对象的一种方式,用法也比较简单,直接实现该接口,然后在实现get方法返回自己需要返回的对象就可以了。

2:例子

2.1:定义get方法中要创建的对象

public class MySupplier {
          
   
}

2.2:测试

public class MySupplierTest {
          
   

    public static void main(String[] args) {
          
   
        /*Supplier<MySupplier> supplier = new Supplier<MySupplier>() {
            @Override
            public MySupplier get() {
                return new MySupplier();
            }
        };*/
        /* ↓↓↓↓↓优化版本↓↓↓↓↓ */
        /*Supplier<MySupplier> supplier = () -> new MySupplier();*/
        /* ↓↓↓↓↓优化版本↓↓↓↓↓ */
        Supplier<MySupplier> supplier = MySupplier::new;
        MySupplier mySupplier = supplier.get();
        System.err.println(mySupplier);
    }
}

运行:

yudaosourcecode.testsupplier.MySupplier@6ce253f1
经验分享 程序员 微信小程序 职场和发展