java - 你能强制泛型类型也泛型吗?
问题描述
假设你有一个泛型类
class MyClass<T> { ... }
T
您可以通过编写分别强制扩展或实现类或接口
class MyClass<T extends ThisClassOrThisInterface> { ... }
您甚至可以通过对 进行抽象来使此构造完全参数化ThisClassOrThisInterface
,即
class MyClass<U, T extends U> { ... }
我的问题是:有没有办法强制T
成为参数化类型?例如,以某种方式
class AnotherClass extends MyClass<List<?>>
应该没问题,因为List
是泛型类型,但是
class AnotherClass extends MyClass<Object>
不应该,因为Object
不能对任何类型进行参数化。
我试图了解您可以在多大程度上使用泛型。特别是,我试图实现以下类(假设它<T<?>>
强制T
成为泛型类型):
class MyClass<T<?>> {
<A> Function<A, T<A>> myMethod() { ... }
}
解决方案
推荐阅读
- php - 维度的 preg_match
- ios - Twitter 喜欢侧边菜单、导航抽屉或滑动菜单 - iOS Swift
- java - Overdraw Eclipse RCP 应用程序的主外壳
- java - 当前屏幕上的 JavaFX 警报
- firebase - 静态页面(托管)的firebase中间件功能
- msbuild - MSBuild 是否支持 .Net Core 项目
- jquery - 将评论添加到它所属的评论列表中
- android - Zbar 没有释放相机(kitkat 上的问题)android
- javascript - 将值分配给单个数组项并调用它们
- python - 根据最内层维度的某个特定索引处的值将张量掩码为 0