关于java:与3种可能的输入一起使用的控制结构(效率)

which control-structure to use with 3 possible inputs (efficiency)

在我的Java程序中,我需要有一个控制结构,它应该给3个不同的结果到3个不同的输入。

输入1:文本1

输入2:文本2

输入3:文本3

我的问题是:最佳实践和效率,应该使用哪种控制结构?我的第一个想法是一个交换案例,但是为什么我要选择它而不是结构或嵌套?操作员??


我认为您会发现,在这种情况下,完全基于可读性的switch语句是比较合适的。如果添加额外的案例,它的伸缩性会更好,即使有三个选项,它的可读性也会更好一些,特别是当案例只是一个输入的三种变体时。性能差异可以忽略不计,但如果您真的想进入那个特定方面,肯定会有讨论。

我建议避免使用三元运算符(即内联if/'?')对于任何超过两种情况,出于相似的可读性原因。就我个人而言,我也不解析它,并且我避免它,除非涉及的所有表达式都非常简短。

主要是偏离主题,但有趣的是,切换字符串并没有添加到Java TIL Java 7中。


您应该首先努力提高可读性,然后在需要时提高效率。如果有许多选项,请使用开关(如果小),使用if/else


可能是嵌套的三元运算符?开玩笑吧。我认为无论采用什么结构,这里的效率几乎是相同的。我会选择if/else,因为我认为它比swtich更易读(不太容易出错-不要忘记breaks),但它只是一种观点。