参考
代码理解
使用kotlin的扩展函数和扩展属性为Activity扩展出一个startActivity() 方法
不使用 Reified
inline fun <T : Activity> Activity.startActivity(activity: Class<T>) {
startActivity(Intent(this, activity::class.java))
}
调用
startActivity(SearchActivity::class.java)
使用 Reified
inline fun <reified T : Activity> Activity.startActivity() {
startActivity(Intent(this, T::class.java))
}
调用
startActivity<SearchActivity>()
区别
自己理解到的就是 : 使用Reified T 就不单单是 某种类型的泛型,不需要 使用参数传入,而可以当作参数使用