Why doesn’t the switch
expression allow long
, float
, double
or boolean
values in Java?为什么只允许 int
(以及自动提升为 int
的那些)?
原文由 saravanan 发布,翻译遵循 CC BY-SA 4.0 许可协议
Why doesn’t the switch
expression allow long
, float
, double
or boolean
values in Java?为什么只允许 int
(以及自动提升为 int
的那些)?
原文由 saravanan 发布,翻译遵循 CC BY-SA 4.0 许可协议
4 回答1.5k 阅读✓ 已解决
4 回答1.3k 阅读✓ 已解决
1 回答2.6k 阅读✓ 已解决
2 回答749 阅读✓ 已解决
2 回答1.8k 阅读
2 回答1.7k 阅读
2 回答1.3k 阅读
float 和 double 即使可能也很难可靠地使用 - 不要忘记,由于表示的性质,对 float/double 执行完全相等匹配通常不是一个好主意。
对于布尔值,为什么不直接使用
if
开始?老实说,我不记得 曾经 想打开这些类型中的任何一种。您有特定的用例吗?