class OperatorMinMax extends Operator {
    public OperatorMinMax(String name) {
        this.name = name;
    }

    @Override
    public Object executeInner(Object[] list) throws Exception {
        if (list.length == 0) {
            throw new QLException("操作数异常");
        }
        Object result = list[0];

        for (int i = 1; i < list.length; i++) {
            result = executeInner(result, list[i]);
        }
        return result;
    }

    public Object executeInner(Object op1, Object op2) throws Exception {<FILL_FUNCTION_BODY>}
}

        Object result = null;
        int compareResult = Operator.compareData(op1, op2);
        if ("min".equals(this.name)) {
            if (compareResult < 0) {
                result = op1;
            } else {
                result = op2;
            }
        } else if ("max".equals(this.name)) {
            if (compareResult < 0) {
                result = op2;
            } else {
                result = op1;
            }
        }
        return result;
    
<methods>public non-sealed void <init>() ,public static int compareData(java.lang.Object, java.lang.Object) throws java.lang.Exception,public com.ql.util.express.OperateData executeInner(com.ql.util.express.InstructionSetContext, com.ql.util.express.ArraySwap) throws java.lang.Exception,public abstract java.lang.Object executeInner(java.lang.Object[]) throws java.lang.Exception,public static boolean objectEquals(java.lang.Object, java.lang.Object) <variables>