Java Enum创建

1.创建一个最简单的枚举类型

创建枚举类型要使用enum关键字,隐含了所创建的类型都是java.lang.Enum类的子类,它是抽象类。其中,枚举类型符合通用模式 Class Enum<E extends Enum<E>> ,而 E 表示枚举类型的名称。枚举类型的每一个值都将映射到 protected Enum(String name, int ordinal) 构造函数中,在这里,每个值的名称都被转换成一个字符串,并且序数设置表示了此设置被创建的顺序。

 

public enum Size{
        SMALL,
        MEDIUM,
        LARGE;
}
 

实际上调用了三次构造函数:

new Enum<Size>("SMALL",0);
new Enum<Size>("MEDIUM",1);
new Enum<Size>("LARGE",2);

 

2.创建一个复杂点的枚举类

 

public enum Size
{
   SMALL("S","A"), 
   MEDIUM("M","B"), 
   LARGE("L","C"), 
   EXTRA_LARGE("XL","D");
}

 此时是无法通过编译器的。因为Size的每个成员附带额外的参数(类似带参数构造函数)

 

 正确的做法是:增加带参数的构成函数

 

public enum SizeTest
{
   SMALL("S","A"), 
   MEDIUM("M","B"), 
   LARGE("L","C"), 
   EXTRA_LARGE("XL","D");

   private SizeTest(String abbreviation,String symbol) {}
}

 

  参数类型确定,但是参数名可任意

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值