- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下类层次结构:
sealed class SubscriptionServiceResponse<T>
data class UserRecognized<T>(val recognizedUser: RecognizedUser, val response: T) : SubscriptionServiceResponse<T>()
data class UserNotRecognized<T>(val ignored: Boolean = true) : SubscriptionServiceResponse<T>()
但是,我更希望 UserNotRecognized
只是一个 object
- 类似于:
object UserNotRecognized : SubscriptionServiceResponse()
(被忽略的
参数就在那里,因为我不能创建没有任何参数的数据类)。
有没有办法将对象
定义为通用密封类
的子类型?
最佳答案
您可以使用Any
或Any?
,仅忽略无响应的通用类型。根据您的问题,我了解到您并不关心对象的通用类型,所以也许您根本不关心它
像这样:
sealed class SubscriptionServiceResponse<T> {
data class UserRecognized<T>(val bool: Boolean) : SubscriptionServiceResponse<T>()
object UserNotRecognized : SubscriptionServiceResponse<Any?>()
}
关于kotlin - 将对象定义为通用密封类的子类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49940540/
当数据类扩展包含非抽象 open val 属性的密封类时,生成的子数据类包含与父类的私有(private)字段重复的私有(private)字段。 sealed class Foo(open val f
当封装一个.jar 文件(整个.jar,而不是特定的包)时,实际上封装了哪些包?它只是包含.class 文件的包,还是还包含父包和子包? 举个例子,假设我有一个包含单个 .class 文件 com.c
我可以很容易地为这样的密封案例类族一般派生一个编解码器: import io.circe._ import io.circe.generic.auto._ sealed trait Base case
我有一个类层次结构: class C1 { virtual object M1(); } class C2: C1 { override sealed object M1(); } class C3:
有什么区别: type MovieType = {| +blob?: string, +name: string, +url?: string |}; 和 type MovieType =
想象一个这样的 secret : apiVersion: v1 kind: Secret metadata: name: {{ include "test-cicd.fullname" . }}
因此,我的一位开发人员使用这样的函数为 Magento 电子商务网站制作自定义导航: getUrl() ?>">__('about') ?> 唯一的问题是它的输出如下: about 据我了解,如果同时
我是一名优秀的程序员,十分优秀!