在Java中使用Changed Type的子类

时间:2014-10-10 01:40:10

标签: java inheritance matrix casting type-conversion

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

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

org.apache.commons.math3中有Vector2DArrayRealVector个类,但他们都只需要Double作为坐标。

我希望能够以某种方式将它们子类化为使用Integer s。我知道我可以继承它们扩展的抽象类,但这看起来像是一大堆代码重复数据删除,判断它们的实现有多长(source of Vector2dsource of ArrayRealVector)。

我知道在构建和获取值时我也可以将Integer强制转换为Double s,但这似乎有点混乱。

1 个答案:

答案 0 :(得分:0)

一旦创建了基类,就无法执行此操作。

您可以做的是创建一个使用generics的基类。这允许您声明一个类型T,使其中的所有内容都使用,然后在您的类中使用T,当您使用该类型时,您可以决定在其中使用哪种类型的T。

查看java.util.collections包中的大量示例。