引言
?先確認一下,什么叫做引用
Object obj = new Object() //這里的obj就是一個強引用
再確認一個結論: lambda 屬于函數類型對象 。
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
的類成員函數。
要注意的是,::
操作符只能用于引用已存在的函數、屬性或構造函數,不能用于創建新的函數或屬性。