Lambda在Java以及Kotlin、高阶函数中使用

1. Lambda一般用于代替匿名类,让代码逻辑看起来更加清晰,方法开发以及代码的阅读

2. Lambda一般代替匿名类时,相当于匿名类本身,基本结果为 ()->{ },如果参数或者方法体语句只有一个可以省略括号。

3. Lambda使用条件:实例化一个类,其内部有匿名类,或者需要实现接口,并且需要重写的方法只有一个。 那么就以方法为根据和参考基准,方法的参数对应小括号,方法体对应大括号。
在这里插入图片描述
Lambda 表达式应用示例:
在这里插入图片描述
Lambda 表达式应用示例:
在这里插入图片描述
在这里插入图片描述

4. Lambda在Kotlin中的使用:在kotlin中使用时,Lambda表达式更像是一个函数。它可以简化一些函数的定义,基本结构为 {a:Int -> 2*a}, ->左侧为参数以及参数的类型,右侧为方法体,并且最后一行作为方法体的返回值。
在这里插入图片描述

5.Kotlin中,扩展函数一般语法是 fun String.add(a:String):String{},实际上是一个函数add, 会将一个String对象作为第一个参数。
在这里插入图片描述

6.Kotlin中,Lambda表达式
将函数作为一个对象,语法为
val 函数名:(参数类型,参数类型) ->返回值类型 = 大括号{x,y-> 方法体,最后一行作为返回值}
在这里插入图片描述
进一步简化写法:
去除函数的参数和返回类型(由系统推导)
大括号内 ->左侧参数说明其数据类型

在这里插入图片描述
如何调用呢?
sum(2,3)

7.高阶函数,高阶函数指的是:一个函数的形式参数类型或者函数的返回值类型为函数。 因为参数和返回类型都是函数,传入不同的函数就可以实现不同的功能
1.函数作为形式参数写法: c: (Int,Int) -> Int
2.函数体定义的写法:可以普通形式,也可以上面的lambda形式
3.高阶函数调用时,函数作为实参传入写法:普通的函数调用的写法 c

在这里插入图片描述
作为返回值类型
既然作为返回值,那么返回值就是一个函数,获取到返回值后,就可以将返回值视为一个函数进行传值调用。
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Kotlin高阶函数有多种用法。除了使用Lambda表达式来传递函数参数外,还可以使用匿名函数和成员引用等方式。 Lambda表达式是最基本的高阶函数用法,通过Lambda表达式可以直接在调用高阶函数时指定传入的参数。比如在调用num1AndNum2()函数时,可以通过Lambda表达式指定传入的两个整数参数进行求和。 除了Lambda表达式,Kotlin还支持匿名函数的语法。匿名函数的写法更类似于常规的函数定义,可以有函数名和参数列表,而Lambda表达式则是简化的匿名函数写法。匿名函数适用于需要在函数体内使用return语句来提前返回结果的情况。 此外,Kotlin的编译器还会将高阶函数的语法转换成Java支持的语法结构。换句话说,Kotlin高阶函数在底层实现上会被转换成Java代码。具体来说,Kotlin高阶函数会被转换成接收函数对象作为参数的Java方法。 总结来说,Kotlin高阶函数用法包括Lambda表达式、匿名函数和成员引用等。这些用法使得我们可以更灵活地编写代码,并将高阶函数的语法转换成Java支持的形式。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Kotlin 高阶函数](https://blog.csdn.net/weixin_56504344/article/details/124973388)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [Kotlin高阶函数](https://blog.csdn.net/ChenYiRan123456/article/details/127983199)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值