switch判断中使用枚举进行判断

目录

文章目录

一、switch中使用枚举进行判断处理

二、使用步骤

1.枚举类中添加获取某个枚举的方法

2.switch判断的写法

An enum switch case label must be the unqualified name of an enumeration constant

一、switch中使用枚举进行判断处理

在switch中不能直接使用枚举类中的某个属性进行判断,可以在枚举类中添加获取枚举的一个方法,然后根据传入的参数获取满足条件的枚举,然后使用这个枚举进行判断

二、使用步骤

1.枚举类中添加获取某个枚举的方法

代码如下:

package enun;


public enum TypeEnum {
    TYPE_ONE(1, "你好"),
    TYPE_TWO(2, "再见");

    public final Integer type;
    public final String name;

    TypeEnum(Integer type, String name) {
        this.type = type;
        this.name = name;
    }

    public static TypeEnum getByCode(Integer type) {
        for(TypeEnum e : TypeEnum.values()){
            if(e.type.equals(type)){
                return e;
            }
        }
        return null;
    }
}

2.switch判断的写法

代码如下:

package test.enumTest;

import enun.TypeEnum;

/**
 * @author linaibo
 * @version 1.0
 * Create by 2022/8/20 14:04
 */

public class enumTest {
    public static void main(String[] args) {
        int a = 2;
        switch (TypeEnum.getByCode(a)){
            case TYPE_ONE:
                System.out.println("成功1");
                System.out.println();
                break;
            case TYPE_TWO:
                System.out.println("成功2");
                break;
            default:
                System.out.println("失败");
        }
        System.out.println(TypeEnum.TYPE_ONE.name);

    }
}

通过传入的某个枚举的type属性来获得这个枚举类,注意case后面直接使用枚举类中的枚举对象进行判断,不需要加上枚举类的名字,加上之后会报下面的错误

An enum switch case label must be the unqualified name of an enumeration constant

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值