您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關java1.8中supplier的作用是什么,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
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
官方代碼及注釋:
/** * Represents a supplier of results. * * <p>There is no requirement that a new or distinct result be returned each * time the supplier is invoked. * * <p>This is a <a href="package-summary.html" rel="external nofollow" >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(); }
根據代碼和官方注釋,我的個人理解:
1.supplier是個接口,有一個get()方法
2.語法 :
Supplier<TestSupplier> sup= TestSupplier::new;
3.每次調用get()方法時都會調用構造方法創建一個新對象。
以上就是java1.8中supplier的作用是什么,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。