enum java 遍历_【Java】关于枚举类型遍历的问题

第一个问题:

首先要明确通常是用枚举类型来描述一组常量。

枚举类型是不可以实例化的。问题中描述的Color color = ........;初始化方式显然是不可以的。而枚举初始化则经常讨论的是枚举内部静态成员的初始化。

第二个问题:

所谓的“:”,其实只是Java增强for循环一个语法糖。

public enum Color {

RED(0), BLACK(1);

private int value;

Color(int value) {

this.value = value;

}

public static void main(String[] args) {

for (Color color : Color.values()) {

System.out.println(color.value);

}

}

}

编译之后的.Class文件如下:

public enum Color {

RED(0),

BLACK(1);

private int value;

private Color(int var3) {

this.value = var3;

}

public static void main(String[] var0) {

Color[] var1 = values();

int var2 = var1.length;

for(int var3 = 0; var3 < var2; ++var3) {

Color var4 = var1[var3];

System.out.println(var4.value);

}

}

}

从编译后的代码中可以看出,“:”形式的循环,本质上和一般循环或者遍历没有区别。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值