【问题标题】:Java - Can you use String for switch? [duplicate]Java - 你可以使用字符串进行切换吗? [复制]
【发布时间】:2016-10-10 06:50:13
【问题描述】:

我在 java 中使用带有 String 的 switch{case ()},到目前为止它似乎运行良好。但我想在继续之前确认;这安全吗?

我的意思是,我知道我不应该做 if ("hi" == "hi"),但应该做 "hi".equals ("hi") 因为 String 是指一个参考点...

我不太确定 switch 是如何工作的,也无法从任何来源确认...

谢谢!!

【问题讨论】:

  • 是和否,取决于 java 版本(1.7 以上)
  • java版本是什么意思?
  • @Orange:嗯,你使用的Java语言版本……
  • 所以如果我的 java 版本晚于版本 7,我的方法应该是安全的吧?
  • 确实如此,请注意,Java 足够聪明地比较字符串 contents,而不是 references

标签: java switch-statement case


【解决方案1】:

根据language specification(强调我的):

如果其中一个case常量等于表达式的值,那么我们说case匹配,并且switch块中匹配case标签之后的所有语句,如果有的话,都是依次执行。

这意味着使用 equals 而非 == 评估 switch case。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-15
    • 2011-01-18
    • 2015-11-04
    • 1970-01-01
    • 1970-01-01
    • 2013-11-07
    • 1970-01-01
    相关资源
    最近更新 更多