以下泛型不编译.这里的语义错在哪里?
函数调用
start(MainActivity.javaClass) // <== Doesn't compile
Run Code Online (Sandbox Code Playgroud)
方法定义
// Definition
public fun <T : Activity> start(activityClass: Class<T>) {
startActivity(Intent(this, activityClass))
}
Run Code Online (Sandbox Code Playgroud)
编译错误
Error:(43, 9) Type parameter bound for T in fun <T : android.app.Activity>
start(activityClass: java.lang.Class<T>): kotlin.Unit is not satisfied:
inferred type com.mobsandgeeks.hellokotlin.MainActivity.
<class-object-for-MainActivity> is not a subtype of android.app.Activity
Run Code Online (Sandbox Code Playgroud)
javaClass已被弃用。使用这个代替:
val i = Intent(this@Activity, Activity::class.java)
startActivity(i)
Run Code Online (Sandbox Code Playgroud)