Javarevisited
Published in

Javarevisited

Remove the if-else hell

In some cases, we need to do multiple if-else conditions like the above. Someone may prefer to go with a switch case, but it is not going to give clean and robust code.

So How can we remove these multiple if-else conditions?

  • For the String literals, you can use the HashMap
  • If you have enums use EnumMap instead of HashMap.

Instead of going with if-else conditions, we are going with a map

Make sure your conditions fit with the map. Instead of writing logic handling for each case, We had a map, and we put the case and the logic as key, value pairs. Hence, We can retrieve the logic from the map based on the key.

Thanks, Hrishabh Purohit & Gamehostprogram for your responses.
Those responses made me rethink again on this article to define the boundaries where we can use this technique.

I started with if-else because most of us(devs) start with if-else. but it is actually a nice replacement for a switch case.
Also, I wanna say, I don’t recommend using this in simple logic-related switch cases since it will increase the complexity of code readability. I prefer the map method when the class’s main functionality implementation depends on the switch case (strategy pattern).

Other Coding articles and resources you may like

And, if you are not a Medium member then I highly recommend you to join Medium and read great stories like this from great authors on different field. You can join Medium here

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store