我需要在java中表示不同数据类型的值间隔。我制定了一个抽象类Interval
,其中包含方法的签名,这些方法在sum,moltiplication等间隔上执行简单的操作。
Interval
的每个子类必须处理不同类型的间隔(基本上是整数和浮点数),但我不知道如何组织类字段(只是更低和最大的边界)以获得高质量的代码
提前致谢。
答案 0 :(得分:2)
如果性能不是您的核心优先级,您可以考虑使用引用类型而不是基本类型,例如:
public class <T extends Number> Interval {
public Interval(T lowerBound, T upperBound) { ...
public boolean isIn(T value) { ...
然后使用
Interval<Integer> intInterval = new Interval<>(10, 100);
Interval<Double> doubleInterval = new Interval<>(42.42, 199.99);
换句话说:您通常可以通过编译器依赖(un)装箱将原始值转换为相应的引用类型。
缺点:在Double,Integer,......对象上做“数学”比使用原始对象更昂贵。
这可以说没有您提供任何代码供我们查看。
答案 1 :(得分:1)
我认为这是一个教育问题。 我也会使用泛型(类型参数),但我不确定它是否已经是所需功能的一部分。
因此,它不仅将函数签名放入接口(您的抽象类),而且将不同的实现以及不同的集合放入继承的子集中。
编辑:输入