【发布时间】:2020-06-06 05:37:24
【问题描述】:
有一个密封类Result,它被参数化为两种类型-成功结果(T)和错误类型(R)。
它被两个类继承:
一个。成功 - 数据类,在构造函数中接受对象 T
b.错误 - 数据类,在构造函数中接受对象 R
我需要创建一个函数,它返回 Result 对象。该函数必须以某种方式创建:
- 这个函数的结果可以赋值给以下类型的变量:
Result<Number, String>
Result<Any, String>
- 这个函数的结果可以不赋给以下类型的变量:
Result<Int, CharSequence>
Result<Int, Any>
即类Result必须在T参数上协变,在R参数上保持不变。
【问题讨论】:
标签: generics kotlin covariance invariance