前两篇博⽂对枚举处理器进⾏了详细的介绍,这⾥对枚举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; }}
⼀、⽅法
⽅法
详解
以数组形式返回枚举类型的所有成员 System.out.println(Enabled.values());
测试了⼀下上⾯代码实现⽅式不可⾏,并不能实现枚举类型成员实现,⽽要通过循环⽅式实现,如下:
for(Enabled enabled:Enabled.values()){ System.out.println(enabled); }
Enabled.values()
或者:
for(int i = 0;i 测试结果为:enableddisabled 根据普通字符串抓取到对应的枚举实例,普通字符串类型变为枚举类型 System.out.println(Enabled.valueOf(\"enabled\")); 输出: Enabled.valueOf(String string) enabled若变为: System.out.println(Enabled.valueOf(\"aaa\")); 会出现异常: java.lang.IllegalArgumentException: No enum constant com.example.simple.type.Enabled.aaa ⽐较两个枚举成员在定义时的顺序,通俗来说就是前后顺序 compare(Enabled.valueOf(\"enabled\")); public static void compare(Enabled enabled){ for(int i = 0;i + \"的⽐较结果是\" + enabled.compareTo(Enabled.values()[i])); } compareTo(Enabled enabled) } 测试结果为: enabled和enabled的⽐较结果是0enabled和disabled的⽐较结果是-1 如果枚举类中将enabled和disabled前后顺序倒过来,那么结果是:enabled和disabled的⽐较结果是1enabled和enabled的⽐较结果是0 获取到对应的枚举值disabled,其类型是Enabled,从枚举类中直接获取到此枚举,没进⾏任何加⼯,来⼀⼩⾏代码测试⼀下: Enabled.disabled System.out.println(Enabled.disabled); Enabled disabled = Enabled.disabled; System.out.println(disabled); 输出结果为:disableddisabled Enabled.enabled 获取到对应的枚举值enabled,其类型是Enabled,从枚举类中直接获取到此枚举,没进⾏任何加⼯。 ps:这⾥还有ordinal()函数,作⽤是获取⼀个成员在枚举中的索引位置。 for(int i=0;i 测试结果为:索引0,值:enabled索引1,值:disabled ⾄此,结束。 因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- dfix.cn 版权所有 湘ICP备2024080961号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务