首页 > 解决方案 > 在 switch 语句中使用枚举时实际上会发生什么?

问题描述

根据Oracle 关于 Switch 的文档,switch-case 结构可以使用一些数字原语,如 byte、short、char 和 int(及其包装类),以及 String 和enums

.ordinal()枚举类会自动获得一个方法,该方法返回常量在其枚举声明中的位置,这也是事实。

当枚举用于 switch-case 结构时,特别是在case VENUS:标签的种类中,是否在幕后,.ordinal()在编译过程中会自动调用该方法?就像.toString()在 println() 中如何调用一样?

在我查看的文档中没有明确说明究竟发生了什么,或者 switch 语句(忽略字符串)通常与数字原语一起使用(必要时通过自动装箱)如何与枚举常量一起使用。

标签: javaenumsswitch-statement

解决方案


推荐阅读