我想创建一个类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>