我想创建一个类MyMap<T>
,T
必须从哪里派生MyAbstractClass
。
MyMap
然后将创建和管理任何类型的数组。MyMap.getPos(0,0)
应该返回类型T
为 Not的对象MyAbstractClass
。
我怎么做?
我想创建一个类MyMap<T>
,T
必须从哪里派生MyAbstractClass
。
MyMap
然后将创建和管理任何类型的数组。MyMap.getPos(0,0)
应该返回类型T
为 Not的对象MyAbstractClass
。
我怎么做?
MyMap<T extends MyAbstractClass>
它将强制泛型类型扩展MyAbstractClass
,但否则它将完全像您刚刚T
作为类提供一样工作。具体来说,您的函数将返回T
.
像这样使用extends
:
MyMap<T extends MyAbstractClass>
把限制放在T
MyMap<T extends MyAbstractClass> {
....
}
要创建数组,您有两个选择。一种是在您的方法中创建一个MyAbstractClass[]
并转换为。T
另一种是Class<T>
在您的构造函数中使用 a 并使用Array.newInstance(class, size)
.
您可以使用
MyMap<T extends MyAbstractClass>