gpt4 book ai didi

java - 使用 switch 语句比使用 if 语句更快,还是将 case 放在 hashMap 中并只使用 contains 方法?

转载 作者:行者123 更新时间:2023-11-29 10:06:53 24 4
gpt4 key购买 nike

我目前有这个很长的 if 语句:

if (somesTring != null && !"".equals(somestring)
SomeClass.doSomething();
else if (somesTring != null && !"".equals(somestring)
SomeClass.doAnother();
...
else
SomeClass.giveUp();

我认为当相关项目位于决策树的底部时,这会执行得很差。我正在考虑 switch 语句,据我的同事说,它更快。可悲的是,比较是用字符串执行的,switch 语句不支持。也许我可以获得所涉及字符串的哈希码并将其用于 switch 语句。

我也在考虑一个包含每个字符串的 HashMap ,并在 containsKey 方法的帮助下做出决定。然而,这涉及到必须将包含大量静态方法的类分割开来,并将这些方法中的每一个都作为某种程度上可执行的对象。通过这样做,我可以处理非常大的“if”语句。

上述哪种方法在执行时间、良好实践和可维护性方面更有意义?欢迎其他建议:)

最佳答案

使用命令模式。您可以完全摆脱 if 语句

类似的问题

Long list of if statements in Java

通过使用命令,

执行时间 - 你可以验证。不要认为这会有很大的不同。

良好做法 - 是

可维护性 - 是的,已经建立了一个模式。

关于java - 使用 switch 语句比使用 if 语句更快,还是将 case 放在 hashMap 中并只使用 contains 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5414107/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com