java enum enum_Java枚举Enum用法详解

前两篇博文对枚举处理器进行了详细的介绍,这里对枚举Enum的用法进行一个大致总结,以便于更好的理解代码逻辑。

还是以Enabled枚举类为例子进行汇总:

package com.example.simple.type;

public enum Enabled {

enabled(1), //启用

disabled(0); //禁用

private final int value;

private Enabled(int value) {

this.value = value;

}

public int getValue() {

return value;

}

}

一、方法

方法

详解

Enabled.values()

以数组形式返回枚举类型的所有成员

System.out.println(Enabled.values());

测试了一下上面代码实现方式不可行,并不能实现枚举类型成员实现,而要通过循环方式实现,如下:

for(Enabled enabled:Enabled.values()){

System.out.println(enabled);

}

或者:

for(int i = 0;i

System.out.println(Enabled.values()[i]);

}

测试结果为:

enabled

disabled

Enabled.valueOf(String string)

根据普通字符串抓取到对应的枚举实例,普通字符串类型变为枚举类型

System.out.println(Enabled.valueOf("enabled"));

输出:

enabled

若变为:

System.out.println(Enabled.valueOf("aaa"));

会出现异常:

java.lang.IllegalArgumentException: No enum constant com.example.simple.type.Enabled.aaa

compareTo(Enabled enabled)

比较两个枚举成员在定义时的顺序,通俗来说就是前后顺序

compare(Enabled.valueOf("enabled"));public static voidcompare(Enabled enabled){for(int i = 0;i

System.out.println(enabled+"和"+Enabled.values()[i]+ "的比较结果是" +enabled.compareTo(Enabled.values()[i]));

}

}

测试结果为:

enabled和enabled的比较结果是0

enabled和disabled的比较结果是-1

如果枚举类中将enabled和disabled前后顺序倒过来,那么结果是:

enabled和disabled的比较结果是1

enabled和enabled的比较结果是0

Enabled.disabled

获取到对应的枚举值disabled,其类型是Enabled,从枚举类中直接获取到此枚举,没进行任何加工,来一小行代码测试一下:

System.out.println(Enabled.disabled);

Enabled disabled=Enabled.disabled;

System.out.println(disabled);

输出结果为:

disabled

disabled

Enabled.enabled

获取到对应的枚举值enabled,其类型是Enabled,从枚举类中直接获取到此枚举,没进行任何加工。

ps:这里还有ordinal()函数,作用是获取一个成员在枚举中的索引位置。

for(int i=0;i

{

System.out.println("索引"+Enabled.values()[i].ordinal()+",值:"+Enabled.values()[i]);

}

测试结果为:

索引0,值:enabled

索引1,值:disabled

至此,结束。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值