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

梅罗夫

有人可以解释一下,为什么我不能在 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

矿工

你有没有尝试过?

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

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

val params : T.LayoutParams = viewGroup.layoutParams

但你可以这样做:

val params: T = viewGroup
val par = viewGroup.layoutParams

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Kotlin中的泛型和MutableLiveData

来自分类Dev

Java中带有任意返回类型和Jackson序列化器的泛型方法

来自分类Dev

java中带有泛型的类字面量

来自分类Dev

Kotlin泛型和TypeVariable

来自分类Dev

Kotlin抽象类,具有泛型参数和使用类型参数的方法

来自分类Dev

Java泛型类型中的<>和<?>有什么区别?

来自分类Dev

子类中的Java泛型和有界参数

来自分类Dev

Kotlin中泛型中的<out Any?>和<*>之间的区别

来自分类Dev

在Kotlin中,如何使用本机Java参数实例化泛型类?

来自分类Dev

使用类路径中的 Kotlin 运行时库执行 Java 和 Kotlin 程序

来自分类Dev

在Gradle项目中混合Java和Kotlin,Kotlin无法找到Java类

来自分类Dev

带有枚举和泛型的 swift 类扩展中的 Where 子句

来自分类Dev

Kotlin平台类型和泛型

来自分类Dev

Java中的枚举和泛型

来自分类Dev

Java中的Varargs和泛型

来自分类Dev

关于Java中的泛型和列表

来自分类Dev

Java中泛型的限制和反射

来自分类Dev

Java中泛型的限制和反射

来自分类Dev

没有通配符的 Kotlin 泛型到 Java

来自分类Dev

Kotlin 继承/带有泛型的声明

来自分类Dev

Java泛型对于类和方法的工作方式似乎有所不同

来自分类Dev

与基类和子类有关的Java泛型“不适用于自变量”

来自分类Dev

没有重复的Kotlin类泛型

来自分类Dev

Kotlin 中的 Java 泛型:在 Kotlin 中使用 Java 原始类型作为方法参数

来自分类Dev

在Kotlin中扩展泛型类

来自分类Dev

将泛型从 Java 转换为 Kotlin

来自分类Dev

静态和非静态与泛型和Java中的通配符

来自分类Dev

Java泛型改变类的字段和系列化

来自分类Dev

Java中的泛型类