導航:首頁 > 編程語言 > java匿名函數參數

java匿名函數參數

發布時間:2025-01-17 00:14:08

java 8 新特性中p->p.setLastName("Doe"));

這是lambda表達式,也就是匿名函數,對於
persons.forEach(p->p.setLastName("Doe"));
這句代碼,persons是一個list,forEach是一個內部迭代的方法,p->p.setLastName("Doe")是一個匿名函數對象。
這個語句等價於
for (Person p : persons) {
p.setLastName("Doe");
}
但是用for循環是外部迭代,速度略慢。
p->p.setLastName("Doe")
p是指list當中取出的對象,p可以自己定義,你寫a也可以,相應的就要變成
a->a.setLastName("Doe")
->是lambda表達式的符號,->左邊的對象去傳入lambda函數體p.setLastName("Doe"),是前面傳入的p去調用setLastName方法,如果要調用多個方法,那麼方法體要用花括弧包含
例如persons.forEach(p->{
p.setLastName("Doe")
System.out.println(p);
});
綜上所述
persons.forEach(p->p.setLastName("Doe"));
是把p->p.setLastName("Doe");這個函數對象,給了persons的迭代器,讓迭代器用這個函數去對集合中的每一個對象使用
有了lambda,你可以這樣定義一個新的線程
new Thread(() -> {System.out.println("hello word!");}).start();
() -> {System.out.println("hello word!");}這句語句其實就是runnable介面的實現對象,
編譯器會根據函數需要實現的介面去隱式轉換,Thread的構造方法需要傳遞Runnable介面的實現類,所以new Thread(() -> {System.out.println("hello word!");}).start();相當於
new Thread((Runnable)() -> {System.out.println("hello word!");}).start();
其中()是匹配介面中的無參函數,因為Runnable介面中run方法為無參所以是()
->指明前面是傳入參數,後面是函數體
有了lambda就能寫出更加漂亮的代碼,以及更少的工作量,實現一個方法的介面用匿名內部類的話看起來是冗餘代碼了
純手打望採納

Ⅱ (function($){...})(jQuery)是什麼意思

(function($){...})(jQuery),這意味著定義並執行一個使用參數jQuery並通過形式參數$接收匿名函數的匿名函數。

分析:

1,匿名函數定義:javasript函數(arg){...},這種形式在javascript中稱為匿名函數。 Arg是匿名函數的參數。

2,匿名函數調用:調用函數時,括弧和參數寫在函數之後。由於運算符的優先順序,函數本身需要使用括弧,即:(function(arg){...})(Param)這等效於使用參數arg定義匿名函數並使用param調用此匿名函數作為參數。

3,(function($){...})(jQuery)是使用實際參數jQuery定義和執行匿名函數,原因是在正式參數中使用$,以免與其他庫沖突,因此實際參數使用jQuery。

4,等效形式:var fn = function($){....}; fn(jQuery);實際上,這是可以理解的,但是應該注意,fn不存在,直接定義函數,然後運行。只需「壓縮」為以下(function($){...})(jQuery)。


(2)java匿名函數參數擴展閱讀:

匿名函數的聲明和使用:

首先,聲明一個直接分配給事件的匿名函數;

Window.onload = function(){};

使用匿名函數表達式。將匿名函數分配給變數。

聲明:var func = function(){};

呼叫:func();

自我執行功能:

可以從各種運算符開始但是普遍使用! ,如:!函數(參數列表){}(參數列表)。

使用()包裝函數和函數後的括弧,例如:(function(){}());

使用()值包裝函數值,例如:(function(){})();

閱讀全文

與java匿名函數參數相關的資料

熱點內容
漫一網路培訓學校有哪些 瀏覽:752
酷狗app如何在電腦同步播放 瀏覽:668
雲浮微信群 瀏覽:344
公司文件打不開 瀏覽:267
LOL的設置文件在哪裡 瀏覽:254
線上開庭是什麼app 瀏覽:526
新中大軟體怎麼設置文件夾 瀏覽:807
git刪除文件夾 瀏覽:353
皇室戰爭怎麼升級競技場 瀏覽:447
雅虎統計工具 瀏覽:741
edgepdf文件分類 瀏覽:901
cad為什麼捕捉不到外部參照文件 瀏覽:935
重慶一共有多少個網站 瀏覽:34
k8s配置文件env創建失敗 瀏覽:197
編程序在電腦上叫做什麼 瀏覽:92
qq閱讀可賺 瀏覽:21
怎樣查找web儲存文件圖片 瀏覽:681
人口檔案資料庫包括什麼信息 瀏覽:709
手機有什麼好玩的星戰網路游戲 瀏覽:15
ps怎麼弄成轉曲文件 瀏覽:281

友情鏈接