![](/img/trans.png)
[英]Workarounds to implement interface including <TIn extends T>, with X[] type parameter
[英]Interface type parameter extends the interface?
我在阅读代码库时遇到了这种结构,但我无法弄清楚它的作用/代表什么:
public interface MyInterface<T extends MyInterface<T>> {}
我不明白类型绑定在这里做了什么 - 它似乎几乎是递归的? 在这种情况下,对T
的真正限制是什么?
这意味着任何实现该接口的 class 都必须将T
指定为它们自己:
class MyClass implements MyInterface<MyClass> {}
// │ ↑
// └──────────────────────────────┘
这里T
是MyClass
,它扩展MyInterface<MyClass>
,因此满足了T extends MyInterface<T>
界限。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.