ITPub博客

首页 > 大数据 > Hadoop > 大数据编程入门:Java枚举

大数据编程入门:Java枚举

原创 Hadoop 作者:加米谷大数据 时间:2021-09-06 17:05:46 0 删除 编辑

Java 枚举是一个特殊的类,一般就表示一组常量,在生活中也可以拿例子来解释 Java 枚举,比如一周有七天,一年有十二个月,人的性别只有男和女等。今天小编将为大家带来大数据编程入门: Java 枚举这篇文章来详细介绍 Java 枚举的用法。

一、 Java 枚举的简单入门

Java 枚举类一般使用 enum 关键字来定义,各个常量被用以逗号来分割。

比如定义一个心情的枚举类。

enum Mood

{

Happy,Sad,Excite;

}

在上面的枚举类Mood 心情常量有 Happy 、 Sad 、 Excite ,分别表示开心、伤心、激动。

使用实例:

enum Mood

{

   Happy,Sad,Excite;

}

public class Test

{

    // 执行输出结果

    public static void main(String[] args)

    {

         Mood   m 1 = Mood.Happy ;

        System.out.println( m 1);

    }

}

输出结果为:Happy

二、 内部类中使用枚举

枚举类也可以声明在内部类中:

public class Test

{

    enum Mood

{

Happy,Sad,Excite;

}   

 // 执行输出结果

    public static void main(String[] args)

    {

         Mood   m 1 = Mood.Happy ;

       System.out.println( m 1);

    }

}

输出结果为:

Happy

每个枚举都是通过 Class 在内部实现的,所有枚举值都是 public static final 的 。

以上的枚举类Mood 转化在内部类实现:

class Mood

{

     public static final Mood Happy  = new Mood ();

     public static final Mood Sad = new Mood ();

     public static final Mood Excite  = new Mood ();

}

三、 迭代枚举元素

可以使用for 语句迭代枚举元素:

实例:

enum Mood

{

    Happy,Sad,Excite;

}

public class MyClass {

  public static void main(String[] args) {

    for (Mood myVar : Mood.values()) {

      System.out.println(myVar);

    }

  }

}

运行结果:

Happy

Sad

Excite

四、 在 switch 中使用枚举类

枚举类通常用于switch 语句 ,比如:

enum Mood

{

    Happy,Sad,Excite;

}

public class MyClass {

  public static void main(String[] args) {

    Mood myVar = Mood. Sad ;

    switch(myVar) {

      case Happy:

        System.out.println(" 开心 ");

        break;

      case Sad:

         System.out.println(" 伤心 ");

        break;

      case Excite:

        System.out.println(" 激动 ");

        break;

    }

  }

}

运行结果:

伤心

五、 values(), ordinal() 和 valueOf() 方法

e num 定义的枚举类默认继承Java.lang.Enum 类,实现 java.lang.serializable 和 java.lang.compatible 接口。

values ()、 order ()和 valueof ()方法位于 java.lang. E num 类中:

Values ()返回枚举类中的所有值。

order ()方法可以找到每个枚举常量的索引,就像数组索引一样。

valueOf() 方法返回指定字符串值的枚举常量。

实例:

enum Mood

{

    Happy,Sad,Excite;

}

public class Test

{

    public static void main(String[] args)

    {

        // 调用 values()

        Mood[] arr = Mood.values();

 

        // 迭代枚举

        for (Mood Moo : arr)

        {

            // 查看索引

            System.out.println(Moo + " at index " + Moo.ordinal());

        }

 

        // 使用 valueOf() 返回枚举常量,不存在的会报错 IllegalArgumentException

        System.out.println(Mood.valueOf("Happy"));

        // System.out.println(Mood.valueOf("WHITE"));

    }

}

运行结果:

 

六、 枚举类成员

与普通类一样,枚举可以使用自己的变量、方法和构造函数 , 构造函数只能使用私有访问修饰符,因此不能在外部调用它们。

枚举可以包含具体和抽象的方法 , 如果枚举类具有抽象方法,枚举类的每个实例都必须实现它。

实例:

enum Mood

{

    Happy,Sad,Excite;

    // 构造函数

    private Mood()

    {

        System.out.println("Constructor called for : " + this.toString());

    }

    public void MoodInfo()

    {

        System.out.println("Universal Mood");

    }

}

public class Test

{    

    // 输出

    public static void main(String[] args)

    {

        Mood m1 = Mood.Happy;

        System.out.println(m1);

        m1.MoodInfo();

    }

}

运行结果:

 

以上就是关于大数据编程入门:Java 枚举的全部内容了,希望这篇文章可以帮助到大家 ~ 如果想了解更多详情,请点击成都加米谷大数据官网吧!成都大数据培训学校、大数据开发培训、数据分析与挖掘,零基础班本月正在招生中,课程大纲及试学视频可免费获取!


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70005624/viewspace-2790640/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2021-08-20

  • 博文量
    30
  • 访问量
    15752