担心我的Web应用程序的性能,我想知道“ if / else”或switch语句在性能方面是否更好?
那是微优化和过早的优化,这是邪恶的。相当担心有关代码的可读性和可维护性。如果有两个以上的if/else块粘合在一起或者其大小不可预测,那么你可能会考虑使用一个switch声明。
另外,你也可以使用Polymorphism。首先创建一些接口:
public interface Action { void execute(String input); }
并掌握其中的所有实现Map。你可以静态或动态地执行此操作:
Map<String, Action> actions = new HashMap<String, Action>();
最后,将if/else或替换为switch类似的内容(将琐碎的检查,如nullpointers放在一边):
actions.get(name).execute(input);
它可能比if/else或慢一些switch,但是代码的可维护性至少要好得多。