java枚举

枚举 —– 用来对一定范围内的值 进行取值
枚举语法 : enum 枚举类名称 { 枚举对象实例,枚举对象实例… ; }
* 可读性良好、阻止非法数据

案例:员工和角色案例 —-枚举技术由来
* 应用 :多个固定取值范围中 取一个值 , 三选一效果

Java数据类型有几种:两大种 引用数据类型 原始数据类型
引用数据类型 :interface class 数组 enum
原始数据类型 :8种

每一个枚举值 在编译.class文件后,成为枚举成员对象(常量)

枚举类构造器 必须private 的

JDK5 switch 可以接受五种数据 类型 byte 、short 、int 、char、enum
JDK7 switch 可以接受六种 : 多了一种String

这是两个枚举类实现星期的转换(注意两种写法的不同)

/**
 * 星期输出中文案例
 * 
 * @author seawind
 * 
 */
public class WeekDayTest {
    public static void main(String[] args) {
        WeekDay1 day1 = WeekDay1.Fri;
        day1.show();

        WeekDay2 day2 = WeekDay2.Wed;
        day2.show();
    }
}

enum WeekDay2 {
    Mon {
        @Override
        public void show() {
            System.out.println("星期一");
        }
    },
    Tue {
        @Override
        public void show() {
            System.out.println("星期二");
        }
    },
    Wed {
        @Override
        public void show() {
            System.out.println("星期三");
        }
    },
    Thu {
        @Override
        public void show() {
            System.out.println("星期四");
        }
    },
    Fri {
        @Override
        public void show() {
            System.out.println("星期五");
        }
    },
    Sat {
        @Override
        public void show() {
            System.out.println("星期六");
        }
    },
    Sun {
        @Override
        public void show() {
            System.out.println("星期日");
        }
    };
    public abstract void show();
}

enum WeekDay1 {
    Mon, Tue, Wed, Thu, Fri, Sat, Sun;

    // 编写方法 show
    public void show() {
        // 根据枚举对象 名字 返回响应中文星期
        if (this.name().equals("Mon")) {
            System.out.println("星期一");
        } else if (this.name().equals("Tue")) {
            System.out.println("星期二");
        } else if (this.name().equals("Wed")) {
            System.out.println("星期三");
        } else if (this.name().equals("Thu")) {
            System.out.println("星期四");
        } else if (this.name().equals("Fri")) {
            System.out.println("星期五");
        } else if (this.name().equals("Sat")) {
            System.out.println("星期六");
        } else if (this.name().equals("Sun")) {
            System.out.println("星期日");
        }
    }
}

枚举类型的一些方法:

//定义的枚举类
public enum Color {
    RED,BLACK,BLUE;

}
    @Test
    public void demo1(){//枚举类型的方法测试
        Color color=Color.RED;
        System.out.println(color.name());
        System.out.println(color.ordinal());
        System.out.println("--------------");
        String name="BLACK";
        Color color2=Enum.valueOf(Color.class, name);
        System.out.println(color2.name());

        Color[] colorarray=Color.values();
        System.out.println(Arrays.toString(colorarray));
        Color color3=Color.valueOf("BLUE");
        System.out.println(color3.name());

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值