RealSum与IntegerSum
RealSumAggregate 实现了对实数(以双精度值形式)的求和聚合,而 IntegerSumAggregate 实现了对整数(以长整型形式)的求和聚合。
类定义
RealSumAggregate
用于实数值的求和:
public static class RealSumAggregate implements Aggregate<Number>
{
public void initialize(Number val)
{
sum = val.doubleValue();
}
public void accumulate(Number val)
{
sum += val.doubleValue();
}
public Object result()
{
return new Double(sum);
}
public void merge(Aggregate<Number> other)
{
sum += ((RealSumAggregate)other).sum;
}
double sum;
}
IntegerSumAggregate
用于整数值的求和聚合:
public static class IntegerSumAggregate implements Aggregate<Number>
{
public void initialize(Number val)
{
sum = val.longValue();
}
public void accumulate(Number val)
{
sum += val.longValue();
}
public Object result()
{
return new Long(sum);
}
public void merge(Aggregate<Number> other)
{
sum += ((IntegerSumAggregate)other).sum;
}
long sum;
}