美文网首页
区分枚举类和类

区分枚举类和类

作者: 咖A喱 | 来源:发表于2019-03-03 17:10 被阅读0次

枚举类

概念:

  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;
    }
}

输出结果:

陕西省

相关文章

  • 区分枚举类和类

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

  • java enum实现原理

    一、分析自定义枚举类 普通的枚举类和抽象枚举类相似,故直接分析抽象枚举类。 1. 编写一个抽象枚举类 2. 编译 ...

  • Kotlin面向对象 (6)枚举类

    枚举类构造函数枚举常用属性和函数 kotlin 中使用 enum 和 class 两个关键词声明枚举类。 枚举类使...

  • 枚举和类

    枚举和类的异同 相同点: 枚举类是一种特殊的类,它和普通的类一样,有自己的成员变量、成员方法、构造器。 枚举类也可...

  • 枚举_enum

    遍历 枚举类: 测试类 反射获取值 枚举类: 测试类:

  • 枚举

    如何定义枚举类 什么枚举类:类里的对象是有限个,可以枚举出来 如何使用enum定义枚举类 枚举...

  • Java篇-枚举的使用

    一 : 自定义枚举类 枚举类调用 二 : 使用enum关键字定义枚举类 让枚举类实现接口: 可以让不同的枚举类的对...

  • 枚举

    枚举的本质是什么 枚举的本质就是一个类,这个类和普通类不同的地方在于有一个枚举项这些枚举项每一个都是一个枚举类的实...

  • 枚举类和类的异同

    枚举类和类的异同 相同之处 枚举类也是类,同样具有成员变量、成员方法、构造器public enum Week { ...

  • Java高级-枚举类与注解

    10.1.枚举类的使用: 入门 类的对象只有有限个,确定的 自定义枚举类 一.枚举类的使用1.枚举类的理解: 类的...

网友评论

      本文标题:区分枚举类和类

      本文链接:https://www.haomeiwen.com/subject/grfmuqtx.html