首页 > 解决方案 > 密封类的通用对象

问题描述

我有一个State密封类,它代表加载一些资源的状态。我想要Loading这个类的一个对象。我试着这样写,但它不起作用:

sealed class State<T> {
    object Loading : State<Nothing>()
    data class Result<T>(val data: List<T>) : State<T>()
}

val t: State<String> = State.Loading

我知道我可以使用Loading这样的类:

sealed class State<T> {
    class Loading<T> : State<T>()
    data class Result<T>(val data: List<T>) : State<T>()
}

但也许有办法让它与 single 一起工作object

标签: genericskotlin

解决方案


推荐阅读