|
1
0
快速回答,使用“out”修饰符:
长答案: 你正在寻找的是方差,你可以在kotlin的官方文档中读到它: https://kotlinlang.org/docs/reference/generics.html 因为例如List接口看起来像这样:
你可以这样做:
但不可能做到:
因为MutableList没有“out”修饰符。这是有道理的,因为MutableList是可以更改的,例如,您可以将其添加为MutableList,但它已经指向List。 在您的示例中,如果且仅当DataTableListener不使用泛型类型作为输入时,您可以使用“out”修饰符。例如:
使用上述接口,您仍然可以在函数中使用“out”修饰符,但您将无法执行“assignValue”函数。 整个示例:
|
![]() |
Mark A. · Android片段回调接口抛出null 7 年前 |
![]() |
Kalai Selvan · 在回收器视图项目上,单击新建片段 7 年前 |
![]() |
Senio Vak · onCreateView()未第二次调用 7 年前 |