java枚举中常量和switch的用法,实例分享

BSO 2020-10-23 09:42:56 java常见问答 7848

java中关于枚举的知识点也是十分繁多的,而且每一个知识点下面还可以进行细分。这也就是为什么说学习java是一个极其漫长而又艰难的过程了。今天就来为大家介绍一下,java枚举中常量和switch的用法并用实例分享出来。一起来了解一下吧。

1.常量

在JDK1.5之前,我们定义常量都是: public static fianl.... 。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。 代码展示如下:

public enum Color
{
    RED
    , GREEN
    , BLANK
    , YELLOW
}

2.switch

JDK1.6之前的switch语句只支持int,char,enum类型,使用枚举,能让我们的代码可读性更强。 代码展示如下:

enum Signal
{
    GREEN
    , YELLOW
    , RED
}
public class TrafficLight
{
    Signal color = Signal.RED;
    public void change()
    {
        switch (color)
        {
        case RED:
            color = Signal.GREEN;
            break;
        case YELLOW:
            color = Signal.RED;
            break;
        case GREEN:
            color = Signal.YELLOW;
            break;
        }
    }
}

3.向枚举中添加新方法

如果打算自定义自己的方法,那么必须在enum实例序列的最后添加一个分号。而且Java要求必须先定义enum实例。 代码展示如下:

public enum Color
{
    RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4);
    // 成员变量  
    private String name;
    private int index;
    // 构造方法  
    private Color(String name, int index)
    {
        this.name = name;
        this.index = index;
    }
    // 普通方法  
    public static String getName(int index)
    {
        for (Color c: Color.values())
        {
            if (c.getIndex() == index)
            {
                return c.name;
            }
        }
        return null;
    }
    // get set 方法  
    public String getName()
    {
        return name;
    }
    public void setName(String name)
    {
        this.name = name;
    }
    public int getIndex()
    {
        return index;
    }
    public void setIndex(int index)
    {
        this.index = index;
    }
}

4.覆盖枚举的方法

下面给出一个toString()方法覆盖的例子。 代码展示如下:

public enum Color
{
    RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4);
    // 成员变量  
    private String name;
    private int index;
    // 构造方法  
    private Color(String name, int index)
    {
        this.name = name;
        this.index = index;
    }
    //覆盖方法  
    @Override
    public String toString()
    {
        return this.index + "_" + this.name;
    }
}

以上就是关于java枚举中常量和switch的用法的主要内容了。并且用实际的代码为大家分享出来。如果你对java知识感兴趣,想要了解更多java经典例子,敬请关注奇Q工具网。

推荐阅读:

java枚举(enum)详解,EnumSet类

java枚举(enum)详解,EnumMap类

java枚举(enum)详解,为枚举添加方法