具有嵌套类的Kotlin和Java中的泛型

时间:2018-03-16 07:33:01

标签: java android generics kotlin

有人可以解释一下,为什么我不能在Kotlin的Java中执行以下代码?

爪哇:

public static <T extends ViewGroup> void doSomething(T viewGroup) {
    T.LayoutParams params = viewGroup.getLayoutParams();
}

科特林:

fun <T : ViewGroup> doSomething(viewGroup: T) {
    val params : T.LayoutParams = viewGroup.layoutParams
}

fun <T : ViewGroup> T.doSomething() {
    val params : T.LayoutParams = this.layoutParams
}

Kotlin没有看到 LayoutParams

1 个答案:

答案 0 :(得分:3)

你试过吗?

<object data="data:application/pdf;base64, your_base64_data" type="application/pdf">
<iframe src="https://docs.google.com/viewer?&embedded=true"></iframe>
</object>

编辑: 好吧,我试过了,你不能这样做:

fun <T : ViewGroup> doSomething(viewGroup: T) {
    val params = viewGroup.layoutParams
}

但你可以这样做:

val params : T.LayoutParams = viewGroup.layoutParams