Enum类的使用

好久没有写文章记录问题了,今天在工作中遇到了枚举的问题,之前没怎么接触Enum,特此记录

个人理解,枚举是一个存放常量类数组的容器

如下所示两个例子:枚举类的构造函数定义了什么参数,定义的常量类数组里面成员的括号里就应该传什么参数

public enum EnumTest {
    Red("1"), Bule("2"),Yellow("3");

    private String colorName;
    EnumTest(String colorName) {
        this.colorName = colorName;
    }

    public String getColorName() {
        return colorName;
    }

    public static void main(String[] args) {
        String needColor = "1";//传的参数
        for (EnumTest  e: EnumTest.values()) {
            if(needColor.equals(e.getColorName())){

                System.out.println(e.name()+":true");
            }else{
                System.out.println(e.name()+":false");

            }
        }
    }
}
public enum EnumTest {
    Red("1",2), Bule("2",2),Yellow("3",2);

    private String colorName;
    EnumTest(String colorName,int num) {
        this.colorName = colorName;
    }

    public String getColorName() {
        return colorName;
    }

    public static void main(String[] args) {
        String needColor = "1";
        for (EnumTest  e: EnumTest.values()) {
            if(needColor.equals(e.colorName))
                System.out.println(e.getColorName());
        }
    }

这里说明一下今天遇到的业务需求

由于枚举里面的常量名错了,导致在往后面传参的时候拿不到值,所以仅需要把类似Red位置的值改为正确的即可。

传过来的参数和构造函数的参数是一致的,需要根据传过来的参数和常量数组里面的值进行对比,如果相同则在map中放入键值为常量名,value为true的一组数据

不相同则在map中放入键值为常量名,value为false的一组数据

 

技术说明:

1、如何拿常量名,在遍历的时候调用 .name方法即可 

2、如何拿值,在遍历的时候调用get方法或者直接 用变量名获取

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Java中,enum类是一种特殊的类,用于定义一组常量。通过使用enum关键字,我们可以在一个enum类中添加多个枚举。 enum类是一种高级数据类型,它可以包含固定数量的元素,这些元素代表一组相关的常量。每个枚举元素都是enum类的一个实例,并且具有唯一的名称。 为了添加枚举,我们可以在enum类的声明中使用逗号将枚举元素分隔开来。每个枚举元素就像是一个常量,可以给它们一个名称。下面是一个示例: ``` enum Day { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY } ``` 在这个例子中,我们创建了一个名为Day的enum类,并添加了七个枚举元素,分别代表一周中的每一天。 我们可以通过使用枚举类的名称和枚举元素的名称来引用它们。例如,使用Day.MONDAY可以引用MONDAY枚举元素。 通过为每个元素分配不同的值,我们可以在enum类中添加更多的信息。例如,我们可以为每个枚举元素指定一个字符串值,以便表示不同的周几。下面是一个带有字符串值的示例: ``` enum Day { MONDAY("星期一"), TUESDAY("星期二"), WEDNESDAY("星期三"), THURSDAY("星期四"), FRIDAY("星期五"), SATURDAY("星期六"), SUNDAY("星期日"); private String chineseName; private Day(String name) { chineseName = name; } public String getChineseName() { return chineseName; } } ``` 在这个示例中,我们通过一个私有的构造函数为每个枚举元素指定了一个中文名称,并提供了一个用于获取中文名称的公共方法getChineseName()。 总结来说,通过在enum类的声明中使用逗号分隔的枚举元素,我们可以添加枚举。枚举元素可以通过名称引用,还可以为每个元素添加一些信息。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值