1、switch支持的类型
以java8为准,switch支持10种类型
基本类型:byte char short int
对于包装类 :Byte,Short,Character,Integer
String
enum
2、实际只支持int类型
Java实际只能支持int类型的switch语句,那其他的类型时如何支持的
a、基本类型byte char short
原因:这些基本数字类型可自动向上转为int, 实际还是用的int。
b、基本类型包装类Byte,Short,Character,Integer
原因:java的自动拆箱机制 可看这些对象自动转为基本类型
c、String 类型
原因:实际switch比较的string.hashCode值,它是一个int类型
如何实现的,网上例子很多。此处不表。
d、enum类型
原因 :实际比较的是enum的ordinal值(表示枚举值的顺序),它也是一个int类型
所以也可以说 switch语句只支持int类型
本文详细解析了Java中switch语句支持的10种类型,包括基本类型如byte、char、short、int,包装类如Byte、Short、Character、Integer,以及String和enum类型。文章深入探讨了Java实际上如何通过自动类型转换和特定机制,如字符串的hashCode和枚举的ordinal值,来支持这些类型。

1916

被折叠的 条评论
为什么被折叠?



