导航:首页 > 编程语言 > 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匿名函数参数相关的资料

热点内容
手机qq禁止查看动态 浏览:923
如何用编程求解二重积分 浏览:366
在桌面上搜索不到文件夹 浏览:723
中外文专利网站有哪些 浏览:682
尖刀车端面槽怎么编程 浏览:70
电脑重装会把所有文件都删掉吗 浏览:982
java匿名内部类构造函数 浏览:573
如何ftp文件到linux 浏览:894
win10文件夹的图片自动排列 浏览:155
安卓电脑文件管理器 浏览:512
联想手机k860刷机教程 浏览:356
oa删除已发文件 浏览:397
win7asp配置文件 浏览:362
java网页能做心跳机制 浏览:817
逆战文件应用在哪里 浏览:102
红头文件订书红线在哪里 浏览:851
excel怎么做文件头 浏览:703
为什么word找不到文件菜单 浏览:671
ios15安装后找不到描述文件 浏览:440
学编程怎么学最有效 浏览:873

友情链接