【问题标题】:kotlin class on any class任何课程的 kotlin 课程
【发布时间】:2020-09-17 18:19:38
【问题描述】:

我正在尝试将类类型作为成员变量存储在我的 android 应用程序中,以便接下来可以进行该活动。 我正在使用Class of Any,但我不知道为什么它不接受任何类的类型,这意味着什么。

    val state : MutableLiveData<Pair<State,Class<Any>>>
            = MutableLiveData(Pair(State.Initial,MainActivity::class.java))

谁能帮我解决这个问题?

【问题讨论】:

  • 使用Class&lt;out Any&gt;。这将说 Class 是子类型 od Class 所以将是可分配的。以前的类型是不变的,即 Class 和 Class 之间没有关系。

标签: android class kotlin


【解决方案1】:

尝试对泛型类型使用out 修饰符:

val state : MutableLiveData<Pair<State, Class<out Any>>>
        = MutableLiveData(Pair(State.Initial, MainActivity::class.java))

out 修饰符在 Kotlin 中用于表示协方差(类似于 Java 中的 ? extends T)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-13
    • 2014-09-18
    相关资源
    最近更新 更多