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

更新於: 27-Oct-2021

3K+ 瀏覽

開啟你的 生涯

完成課程,獲得認證

開始
廣告
© . All rights reserved.