reified 關鍵字在 Kotlin 中如何運作?
“reified”是一種特殊的關鍵字,它能幫助 Kotlin 開發人員在執行時訪問與類相關的資訊。“reified”僅能與inline函式一起使用。當“reified”關鍵字被使用時,編譯器將該函式的位元組碼複製到該函式被呼叫的程式碼的每一節中。透過這種方式,泛型型別 T 將被分配給作為引數獲得的值的型別。
示例
在這個示例中,我們將看到“reified”如何有助於重複使用我們的程式碼並使用同一個函式來執行類似的操作,無論其傳遞的引數如何。
對於這個示例,我們建立了一個 Inline 函式,並且我們傳遞一個泛型“reified”引數 T,並且從 Kotlin 的main()中,我們使用不同的引數多次呼叫myExample()。
// Declaring Inline function
inline fun <reified T> myExample(name: T) {
println("
Name of your website -> "+name)
println("
Type of myClass: ${T::class.java}")
}
fun main() {
// calling func() with String
myExample<String>("www.tutorialspoint.com")
// calling func() with Int value
myExample<Int>(100)
// calling func() with Long value
myExample<Long>(1L)
}輸出
它將生成以下輸出 −
Name of your website -> www.tutorialspoint.com Type of myClass: class java.lang.String Name of your website -> 100 Type of myClass: class java.lang.Integer Name of your website -> 1 Type of myClass: class java.lang.Long
廣告
資料結構
計算機網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP