日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無先后,達者為師

網(wǎng)站首頁 編程語言 正文

Kotlin 判斷泛型類型 reified

作者:安果移不動 更新時間: 2022-05-12 編程語言

像是java。我們無法直接去判斷類型?

但是可以通過拿到類名后去判斷

random.javaClass.name
class MagicBox(vararg item: T) {
    fun  randomOrBackup(backup: () -> T) {
        val item = listOf(
            Boy("name", 20),
            Man("john", 35),
        )
        var random = item.random();
        println(random.javaClass.name)

//        return if (random is T) {
//            random
//        } else {
//            backup();
//        }
    }

}

open class Human(val age: Int)

class Boy(val name: String, age: Int) : Human(age)
class Man(val name: String, age: Int) : Human(age)

class Dog(val weight: Int)


fun main() {
    val box1 = MagicBox(Man("Jack", 15), Boy("張三", 16), Man("李四", 17))

   box1.randomOrBackup { Man("Jimmy", 38) }
}

但是。。kotlin 也不行嗎 泛型也被擦除。。

?啊錯錯錯

inline 與  reified 關(guān)鍵字 混合使用 則沒有這個問題

使用?

原文鏈接:https://blog.csdn.net/mp624183768/article/details/124065097

欄目分類
最近更新