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類型