Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
如何使用 Kotlin 中使用此泛型类型的嵌套数据类创建泛型接口?
像这样的东西:
interface Exemplary<T> { data class Result(val value: T) ... }
数据类也应该是通用的:
interface Exemplary<T> { data class Result<T>(val value: T) fun getResult(): Result<T> }
没有例如Exemplary<Int>.Result,只有Exemplary.Result; 没有像卢卡斯的回答那样通用,T就找不到。Result
Exemplary<Int>.Result
Exemplary.Result
T
Result
但是还有一种选择:内部类。如果你想T通过接口实例来修复,例如
val x: Exemplary<Int> = ... val y = new x.Result(3)
你需要创建类inner,但它不能data,你需要自己实现这些方法。
inner
data