浅谈枚举enum

1.干嘛的

enum,是指一组由固定的常量组成合法值得类型。用于常量定义,*与public static final 用来修饰常量类似*。(jdk1.5之后)

传统用法

public class State{
	public static final MGS="this is mgs";
	
	public static final TEST="this is test";
}

枚举定义

public enum MyEnum{
	MGS("this is mgs"),
	
	TEXT("this is test");
	
	private String test;
	
	private MyEnum(String test){
		this.test=test;
	}
}

2.怎么用

传统:System.out.println(MyEnum.MGS);

枚举:System.out.println(State.MGS);

3.有区别

public enum MyEnum{

	MGS(1,"this is mgs"),
	
	TEST(2,"this is text");

    private String d;
    private int i;
 
    private  EnumDemo(int i,String d){
        this.d=d;
        this.i=i;
    }
    
	public static void main(String[] args) {
	      System.out.println(MyEnum.MGS.getI()+MyEunm.MGS.getD());
    }
    
	public void setD(String d) {
	        this.d = d;
	    }
	
	public int getI() {
	        return i;
	    }
	
	public void setI(int i) {
	        this.i = i;
	    } 
	public String getD() {
	        return d;
	    }
}

或简单使用:

//此时one到four的默认值依次是0~3
public enum demo{one,two,three,four}

4.工具类

EnumMap:与Map类似,不同的是EnumMap的key值只能是枚举类型。
 1) Map<MyEnum,String> map=new EnumMap<MyEnum, String>(MyEnum.class);
 	EnumSet:与Set类似,key值只能是枚举类型。
 2) EnumSet<MyEnum> set=EnumSet.allOf(MyEnum.class);

5.优缺点

相对来说定义更繁琐,但是更安全、方便、可扩展。可用于switch语句。
推荐把常量定义为枚举类型
本人小小女程序员一枚~(目前还没有秃顶
欢迎关注我的公众号:javacainiaozhilu
一起交流、学习、成长
还有海量视频教程免费赠送~

在这里插入图片描述
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值