如何使用在Kotlin中使用此泛型类型的嵌套数据类创建通用接口?
这样的事情:
interface Exemplary<T> {
data class Result(val value: T)
...
}
答案 0 :(得分:2)
此外,数据类应该是通用的:
interface Exemplary<T> {
data class Result<T>(val value: T)
fun getResult(): Result<T>
}
答案 1 :(得分:0)
没有例如Exemplary<Int>.Result
但只是Exemplary.Result
;在Lukas的回答中没有T
通用的情况下找不到Result
。
但还有另一种选择:inner classes.如果您希望接口实例修复T
,例如
val x: Exemplary<Int> = ...
val y = new x.Result(3)
你需要制作课程inner
,然后才能can't be data
,你需要自己实施这些方法。