switch 表达式不能是 float、double 或 boolean

新手上路,请多包涵

Why doesn’t the switch expression allow long , float , double or boolean values in Java?为什么只允许 int (以及自动提升为 int 的那些)?

原文由 saravanan 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 871
1 个回答

float 和 double 即使可能也很难可靠地使用 - 不要忘记,由于表示的性质,对 float/double 执行完全相等匹配通常不是一个好主意。

对于布尔值,为什么不直接使用 if 开始?

老实说,我不记得 曾经 想打开这些类型中的任何一种。您有特定的用例吗?

原文由 Jon Skeet 发布,翻译遵循 CC BY-SA 2.5 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题