区分枚举类和类

枚举类

概念:

  1. 用以存储一组有关联且有意义的常量的特殊数据类型
  2. 枚举类也是类,具有自己的成员变量和方法、构造器y

异同:

  1. 使用的是enum关键字而不是class
  2. 多个枚举变量直接用逗号隔开
  3. 枚举变量大写,多个单词之家使用“_"隔开(如DATE_TIME)
  4. 枚举的变量必须在第一行列出,定义完所有变量后,分号结束。枚举变量自动添加public static final修饰
  5. 构造器只能使用private修饰
  6. 在其他类中使用枚举类的变量时,只需要【类名.变量名】
  7. 如果实例化输入的参数不完全一致,则会抛出IllegalArgumentException异常

案例:

  • 设计一个可以获取发票代码所在省份的代码
  • 用CityEnum存储对应的常量
package model;

//需求:根据发票代码查找发票所在省份
public enum CityEnum {
    BJS("北京市", "11"), SHHS("上海市", "31"), TJS("天津市", "12"),
    CHQS("重庆市", "50"), XGTBXZQ("香港特别行政区", "xg"), AMTBXZQ("澳门特别行政区", "am"),
    HEBS("河北省", "13"), ZJS("浙江省", "33"), LNS("辽宁省", "21"),
    HUBS("湖北省", "42"), JSS("江苏省", "32"), NMGZZQ("内蒙古自治区", "15"),
    JXS("江西省", "36"), SXS("山西省", "14"), GSS("甘肃省", "62"), SDS("山东省", "37"),
    HLJS("黑龙江省", "23"), FJS("福建省", "35"), GDS("广东省", "44"), SCS("四川省", "52"),
    HUNS("湖南省", "43"), HENS("河南省", "41"), YNS("云南省", "53"), AHS("安徽省", "34"),
    NXZZQ("宁夏回族自治区", "64"), JLS("吉林省", "22"), GXZZQ("广西壮族自治区", "45"), GZS("贵州省", "52"),
    SHXS("陕西省", "61"), QHS("青海省", "63"), HINS("海南省","46"),
    XZ("西藏自治区", "54"), XJZZQ("新疆维吾尔自治区", "65");
    private String city;
    private String index;

    CityEnum(String city, String index) {
        this.city = city;
        this.index = index;
    }

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }

    public String getIndex() {
        return index;
    }

    public void setIndex(String index) {
        this.index = index;
    }
}
package model;

public class MainTest {
    public static void main(String[] args) {
        System.out.println(getCity("61"));
    }
    public static  String getCity(String index){
        for (CityEnum city : CityEnum.values()){
            if(city.getIndex().equals(index)){
                return city.getCity();
            }
        }return null;
    }
}

输出结果:

陕西省
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值