Kotlin中的實體類型參數可防止類型參數擦除,並允許在運行時知道類型參數。這讓下面的代碼編譯和運行按預期:Kotlin實體類型參數不能用作函數體中的類型參數
inline fun <reified T> isA(value: Any) = value is T
然而,當我嘗試使用「T」作爲一種類型的參數,而不是獨立的,我得到的消息,這是擦除類型。這是由下面的代碼是用於說明目的僅表現:
inline fun <reified T> isListOfA(name: String): Boolean {
val candidate = Class.forName(name)
return candidate is List<T>
}
這是由於技術上的限制?如果是這樣,那麼這個限制是什麼?
這不是物化的問題。你甚至不能'列舉''。 –