java对枚举的支持-枚举类

枚举类针对枚举操作进行了强大的支持。

jdk1.5之前没有对枚举的专门操作类:
—早期对枚举的使用:
package com.mldn;
class Color        // 实现枚举类:该类型的取值范围是确定的!
{       
        public static final Color RED = new Color(“红色”);       
        public static final Color GREEN = new Color(“绿色”);
        public static final Color BLUE = new Color(“蓝色”);
        private String name = null;        // 颜色名字
        private Color(String name)
        {
                this.name = name;        // 单例设计
        }
        public static Color getInstance(int x)
        {
                switch (x)
                {
                        case 1:
                        {
                                return RED;                               
                        }
                        case 2:
                        {
                                return GREEN;                               
                        }
                        case 3:
                        {
                                return BLUE;                               
                        }
                        default:
                        {
                                return null;
                        }
                }
        }
        public String getName()
        {
                return this.name;
        }       
}
public class EnumDemo
{
        public static void main(String[] args)
        {
                Color c1 = Color.getInstance(1);
                System.out.println(“获得颜色:” + c1.getName());
                Color c2 = Color.BLUE;
                System.out.println(“获得颜色:” + c2.getName());
        }
}
/*
ubuntu@xu-desktop:~$ com.mldn.EnumDemo
获得颜色:红色
获得颜色:蓝色
// 在实现枚举类以前对枚举可以这样实现。
*/
—另外一种方法是:使用接口实现枚举功能:
package com.mldn;
interface Color        // 实现枚举接口:该类型的取值范围是确定的!
{       
        public static final int RED = 1;       
        public static final int GREEN = 2;
        public static final int BLUE = 3;
}
public class EnumDemo1
{
        public static void main(String[] args)
        {
                Color c1 = Color.getInstance(1);
                System.out.println(“颜色相加:” + (Color.RED + Color.GREEN));                // 1+2=3表示蓝色,但2+3=5就无意义了!
        }
}        // 这种方式不明确!
————-对枚举的支持:
—使用enum关键字定义枚举类型:
package com.mldn;
/*
        jdk1.5后,引人了枚举类型:关键字:enum: [public] enum enumName{….,枚举常量,…}
枚举类型:可以同时具有多种身份,但同一场合只使用一种身份!
*/
enum Color
{
        RED, BLUE, GREEN;        // 定义取值范围
}
public class EnumDemo2
{
        public static void main(String[] args)
        {
                Color c = Color.RED;        // 设定c为RED
                System.out.println(c);        // 获取c
        }
}
/*
ubuntu@xu-desktop:~$ java com.mldn.EnumDemo2
RED
*/

声明: 除非转自他站(如有侵权,请联系处理)外,本文采用 BY-NC-SA 协议进行授权 | 智乐兔
转载请注明:转自《java对枚举的支持-枚举类
本文地址:https://www.zhiletu.com/archives-129.html
关注公众号:智乐兔

赞赏

wechat pay微信赞赏alipay pay支付宝赞赏

上一篇
下一篇

相关文章

在线留言

你必须 登录后 才能留言!

在线客服
在线客服 X

售前: 点击这里给我发消息
售后: 点击这里给我发消息

智乐兔官微