Enum

java中的enum有什么用呢?

    Enum一般用来表示一组相同类型的常量。如性别、日期、月份、颜色等。对这些属性用常量的好处是显而易见的,不仅可以保证单例,且比较时候可以用”==”来替换equals。是一种好的习惯。

package enumtest;


public class TestEnum {
public enum ColorEnum{
red,green,yellow,blue;
}
/**
* 枚举像普通的类一样可以添加属性和方法,可以为它添加静态和非静态的属性和方法
* @author Administrator
*
*/
public enum SeasonEnum{
//枚举写在最前面,否则编译出错
spring,summer,autum,winter;
private final static String position="test";
public static SeasonEnum getSeason(){
if("test".equals(position)){
return spring;
}else{
return winter;
}
}
}
/**
* 性别

* 实现带有构造器的枚举
* @author Administrator
*
*/
public enum Gender{
//通过括号赋值,而且必须带有一个参数构造器和一个属性跟方法,否则编译出错
//赋值必须都复制或都不赋值,不能一部分赋值,一部分不赋值。如果不赋值则不能写构造器,否则编译出错
Man("M"),Female("F");
private final String value; 
//构造器默认也只能是private,从而保证构造函数只能在内部使用
Gender(String value){
this.value=value;
}
public String getValue() {
return value;
}
}
/**
* 实现带有抽象方法的枚举
* @author Administrator
*
*/
public enum OrderState{
CANCEL {public String getName(){return "已取消";}},
WAITCONFIRM{public String getName(){return "待审核";}},
WAITPAYMENT{public String getName(){return "等待付款";}},
ADMEASUREPRODUCT{public String getName(){return "正在配货";}},
WAITDELIVER{public String getName(){return "等待发货";}},
DELIVERED{public String getName(){return "已发货";}},
RECEIVED{public String getName(){return "已收货";}};
public abstract String getName();
}
public static void main(String[] args) {
//枚举是一种类型,用于定义变量,以限制变量的赋值。赋值时,通过“枚举名.值”取得枚举中的值
ColorEnum co=ColorEnum.blue;
switch (co) {
case blue:
System.out.println("color is blue");
break;
case green:
System.out.println("color is green");
break;


}
//遍历枚举
System.out.println("遍历枚举");
for(ColorEnum color:ColorEnum.values()){
System.out.println(color);
}
//获取枚举的个数
System.out.println("获取枚举的个数"+ColorEnum.values().length);
//获取枚举的索引位置,从0开始

}
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值