aggregator.java
来自「一个java生成自动生成Excel」· Java 代码 · 共 99 行
JAVA
99 行
package net.sf.jxls.parser;/** * @author Curtis Stanford * @author Leonid Vysochyn */public abstract class Aggregator { public static Aggregator getInstance(String function) { if (function.equalsIgnoreCase("sum")) return new Sum(); else if (function.equalsIgnoreCase("avg")) return new Average(); else if (function.equalsIgnoreCase("min")) return new Minimum(); else if (function.equalsIgnoreCase("max")) return new Maximum(); else if (function.equalsIgnoreCase("count")) return new Count(); else return null; } public void add(Object o) { } public Object getResult() { return null; } static class Sum extends Aggregator { private double total = 0.0; public void add(Object o) { if (o instanceof Number) total += ((Number) o).doubleValue(); } public Object getResult() { return new Double(total); } } static class Average extends Aggregator { private double total = 0.0; private double count = 0.0; public void add(Object o) { if (o instanceof Number) { total += ((Number) o).doubleValue(); count++; } } public Object getResult() { if (count == 0.0) return null; return new Double(total / count); } } static class Minimum extends Aggregator { private Object min = null; public void add(Object o) { if (o != null) { if (min == null) min = o; else if (o instanceof Comparable) { if (((Comparable) o).compareTo(min) < 0) min = o; } } } public Object getResult() { return min; } } static class Maximum extends Aggregator { private Object max = null; public void add(Object o) { if (o != null) { if (max == null) max = o; else if (o instanceof Comparable) { if (((Comparable) o).compareTo(max) > 0) max = o; } } } public Object getResult() { return max; } } static class Count extends Aggregator { private int count = 0; public void add(Object o) { if (o != null) count++; } public Object getResult() { return new Integer(count); } }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?