2014-10-10 66 views
0

在Java中可能创建子类并执行某种类型的查找和替换吗?要将实例变量更改为Integer而不是Double在Java中改变类型的子类

我正在寻找一个保存整数的向量类。我的意思是一个真正的数学矢量,而不是一个java.util.Vector

org.apache.commons.math3Vector2DArrayRealVector类,但他们都只需要Double他们的坐标。

我希望能够以某种方式将它们继承为Integer。我知道我可以继承它们扩展的抽象类,但是这看起来像是整整一代码重复数据删除,从它们实现的时间长度来看(source of Vector2dsource of ArrayRealVector)。

我知道我也可以在构造和获取数值时重新构造我的Integer s到Double s,但这又似乎有点混乱。

回答

0

一旦基类已经创建完毕,就无法做到这一点。

你可以做的是创建一个使用generics的基类。这允许你声明一个类型T,它们内部的所有东西都使用,然后你在类中使用T,并且当你使用这个类型时,你决定在它们内部使用什么类型的T。

请看java.util.collections包的很多例子。