do this without using an “if” | if(s == “value1”){…} else if(s == “value2”) { …}

前端 未结 18 2000
温柔的废话
温柔的废话 2021-01-30 09:36

According to anti-if campaign it is a best practice not to use ifs in our code. Can anyone tell me if it possible to get rid of the if in this piece of code ? (switch is also

18条回答
  •  挽巷
    挽巷 (楼主)
    2021-01-30 10:15

    Java

    Use an enum which implements a certain method.

    enum MyEnum{
    
        foo{
            public void mymethod(String param1, String param2){
                //dostuff...
            }
        },
    
        bar{
            public void mymethod(String param1, String param2){
                //dostuff...
            }
        };
    
        public abstract void mymethod(String param1, String param2);
    }
    

    Then in your class :

    MyEnum.valueOf(mystring).mymethod(param1, param2);
    

提交回复
热议问题