cod*_*ing 1 java switch-statement
我来自c#,发现java的switch语句有点令人困惑.
您只能打开一个字符,但您可以打开一个枚举.
这是因为它在内部切换值吗?
为什么要将方法添加到枚举中?
eri*_*son 7
听起来你的问题背后的假设是错误的.可以接通enum值,整数类型(char,int,byte等),或String实例.
enum
char
int
byte
String
在内部,所有开关都编译为两个指令之一,lookupswitch或tableswitch.两条指令都要求每个案例都标有不同的整数.使用enum值时,将使用值的"序数".使用String实例时,编译器会插入其他代码以将每个字符串映射到唯一值.其他类型直接使用.您可以在另一个答案中阅读更多相关信息.
lookupswitch
tableswitch
enum服务上的方法与任何其他对象上的方法具有相同的目的.您可以使用它们来实现多态行为,或者作为简单的访问器,或者其他任何东西.
归档时间:
14 年,4 月 前
查看次数:
412 次
最近记录: