kotlin 函数引用

引言

先确认一下,什么叫做引用

java 复制代码
Object obj = new Object()	//这里的obj就是一个强引用

再确认一个结论: lambda 属于函数类型对象 。

Kotlin 复制代码
    fun methodResponseResult(msg: String , respo:(Int, String)->Unit){


    }


    fun  methodRespoResunt(type: Int ,msg: String){

    }

    fun main(){

        //函数引用
        // lambda 属于函数类型对象,需要把methodRespoResunt 普通函数变成 函数类型的对象(函数引用)
        methodResponseResult( "DDD" , :: methodRespoResunt)

    }

上面代码解释:

lambda 属于函数类型对象,需要把methodRespoResunt 普通函数变成 函数类型的对象。

概念

‌**Kotlin中的函数引用**‌

是指使用双冒号**::操作符来获取函数的引用。这种引用方式可以将函数作为参数**传递给其他函数,或者作为返回值类型。函数引用在Kotlin中非常有用,特别是在使用高阶函数时,因为它允许将函数作为数据传递和处理。

:: 使用

::是一个操作符,它可以用来引用函数、属性或构造函数。

引用函数:可以使用::操作符来引用一个函数。

引用属性:可以使用::操作符来引用一个属性。

引用构造函数:可以使用::操作符来引用一个构造函数。

引用成员函数或成员属性:可以使用::操作符来引用一个类的成员函数或成员属性。例如,myClass::myFunction可以用来引用一个名为myFunction的类成员函数。

要注意的是,::操作符只能用于引用已存在的函数、属性或构造函数,不能用于创建新的函数或属性。

相关推荐
还在忙碌的吴小二1 天前
Harness 最佳实践:Java Spring Boot 项目落地 OpenSpec + Claude Code
java·开发语言·spring boot·后端·spring
liliangcsdn1 天前
mstsc不在“C:\Windows\System32“下在C:\windows\WinSxS\anmd64xxx“问题分析
开发语言·windows
小陈工1 天前
2026年4月7日技术资讯洞察:下一代数据库融合、AI基础设施竞赛与异步编程实战
开发语言·前端·数据库·人工智能·python
KAU的云实验台1 天前
【算法精解】AIR期刊算法IAGWO:引入速度概念与逆多元二次权重,可应对高维/工程问题(附Matlab源码)
开发语言·算法·matlab
会编程的土豆1 天前
【数据结构与算法】再次全面了解LCS底层
开发语言·数据结构·c++·算法
jerryinwuhan1 天前
RDD第二次练习
开发语言·c#
wechat_Neal1 天前
Golang的车载应用场景
开发语言·后端·golang
恋猫de小郭1 天前
Android 上为什么主题字体对 Flutter 不生效,对 Compose 生效?Flutter 中文字体问题修复
android·前端·flutter
三少爷的鞋1 天前
不要让调用方承担你本该承担的复杂度 —— Android Data 层设计原则
android