java的switch表达式


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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM