Java 中 if/else 与 switch 语句的相对性能差异是什么?
2022-08-31 07:56:30
担心我的Web应用程序的性能,我想知道“if/else”或switch语句中的哪一个在性能方面更好?
担心我的Web应用程序的性能,我想知道“if/else”或switch语句中的哪一个在性能方面更好?
这是微观优化和过早优化,这是邪恶的。而是担心所讨论代码的可读性和可维护性。如果有两个以上的块粘合在一起或其大小是不可预测的,那么您可能会高度考虑一个语句。if/else
switch
或者,您也可以抓取多态性。首先创建一些接口:
public interface Action {
void execute(String input);
}
并掌握某些.您可以静态或动态地执行此操作:Map
Map<String, Action> actions = new HashMap<String, Action>();
最后用类似这样的东西替换 or(将像 nullpointers 这样的琐碎检查放在一边):if/else
switch
actions.get(name).execute(input);
它可能比 或 更微低,但代码至少可以更好地维护。if/else
switch
当你谈论web应用程序时,你可以使用HttpServletRequest#getPathInfo()
作为操作键(最终编写更多的代码来在循环中拆分pathinfo的最后一部分,直到找到一个操作)。你可以在这里找到类似的答案:
如果您担心 Java EE Web 应用程序的性能,那么您可能会发现本文也很有用。还有其他一些领域比仅(微)优化原始Java代码提供了更多的性能提升。