Enum 枚举

Enum枚举类型

枚举概念

枚举类型是一种特殊的数据类型,它使变量成为一组预定义的常量。变量必须等于为其预定义的值之一。因为它们是常量,枚举类型字段的名称是大写字母。
以星期的日期为例:

public enum Day {
    SUNDAY, MONDAY, TUESDAY, WEDNESDAY,
    THURSDAY, FRIDAY, SATURDAY
}
// 如果不再添加别的方法,枚举值默认从0开始。即SUNDAY:0, MONDAY:1等

使用

public void testDay(Day day) {
    switch (day) {
        case SUNDAY:
            System.out.println("放假~");
            break;
        case MONDAY:
            System.out.println("星期一,要开始一周的工作了");
            break;
        case TUESDAY:
        case WEDNESDAY:
        case THURSDAY:
            System.out.println("继续工作");
            break;
        case FRIDAY:
            System.out.println("哈哈~要放假啦~");
            break;
        case SATURDAY:
            System.out.println("放假啦~");
            break;
        default:
            break;
    }
}

特性

所有的枚举类型都会隐式的继承java.lang.Enum。所以自定义的枚举类型通常不可以再继承其他的类了。

枚举的方法

java.lang.Enum类声明如下:
    public abstract class Enum<E extends Enum<E>>
        implements Comparable<E>, Serializable { ... }
        
values() : 返回enum数组实例,其中该数组中元素与声明的枚举元素次序严格保持相同
name() : 返回实例的值
ordinal() : 返回实例声明时的次序,从0开始  

项目中使用枚举简单示例

public enum ThirdPayTypeEnum {
	WX(1, "微信"),
	AliPay(2, "支付宝"),
	UNIONPAY(3, "银联");

	private Integer code;
	private String name;
	
	ThirdPayTypeEnum(Integer code, String name) {
		this.code = code;
		this.name = name;
	}
	
	public Integer getCode() {
        return code;
    }

    public void setCode(Integer code) {
        this.code = code;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

	public static Optional<ThirdPayTypeEnum> getByCode(final int code) {
		return Stream.of(values()).parallel().filter(t -> t.getCode() == code).findAny();
	}
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值