美文网首页
根据传入参数不同调用不同的方法:枚举方式

根据传入参数不同调用不同的方法:枚举方式

作者: 莫夏_b560 | 来源:发表于2019-07-16 22:50 被阅读0次
    
    public enum Operator {
    
        ADD {
            @Override
            public int apply(int a, int b) {
                return a + b;
            }
        },
    
        MULTIPLY {
            @Override
            public int apply(int a, int b) {
                return a * b;
            }
        },
    
        SUBTRACT {
            @Override
            public int apply(int a, int b) {
                return a - b;
            }
        },
    
        DIVIDE {
            @Override
            public int apply(int a, int b) {
                return a / b;
            }
        },
    
        MODULO {
            @Override
            public int apply(int a, int b) {
                return a % b;
            }
        };
    
    
        public abstract int apply(int a, int b);
    
        }
    
    public class Calculator {
        public int calculate(int a, int b, Operator operator) {
            return operator.apply(a, b);
        }
    }
    
    public class Test {
    
    
        public static void main(String[] args) {
            Calculator calculator = new Calculator();
            int num = calculator.calculate(3,4, Operator.valueOf("ADD")); //Operator.valueOf("ADD") == Operator.ADD
            System.out.println(num);
        }
    }
    

    相关文章

      网友评论

          本文标题:根据传入参数不同调用不同的方法:枚举方式

          本文链接:https://www.haomeiwen.com/subject/pigxlctx.html