1

如何使用 Kotlin 中使用此泛型类型的嵌套数据类创建泛型接口?

像这样的东西:

interface Exemplary<T> {

    data class Result(val value: T)

    ...
}
4

2 回答 2

2

数据类也应该是通用的:

interface Exemplary<T> {

    data class Result<T>(val value: T)

    fun getResult(): Result<T>
}
于 2018-06-11T13:00:39.810 回答
0

没有例如Exemplary<Int>.Result,只有Exemplary.Result; 没有像卢卡斯的回答那样通用,T就找不到。Result

但是还有一种选择:内部类。如果你想T通过接口实例来修复,例如

val x: Exemplary<Int> = ...
val y = new x.Result(3)

你需要创建类inner,但它不能data,你需要自己实现这些方法。

于 2018-06-11T22:36:00.807 回答