「java枚举demo」java枚举的用法

博主:adminadmin 2023-03-18 13:49:09 357

本篇文章给大家谈谈java枚举demo,以及java枚举的用法对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java枚举作内部类?

因为 a,b,c,d相当于常量吧。 应该枚举类应该和静态的内部类是一致的。 因为内部类是根据外部类实例的创建而创建实例的。 而枚举类是不会根据外部类的创建而重新创建实例的。

用java写一个枚举类程序

package com.school.stereotype; 

/** 

 * 活动枚举类型 

 * @author QiXuan.Chen 

 */

public enum EventStatus { 

  /** 

   * 未发布。 

   */ 

  DRAFT("DRAFT", "未发布"), 

  /** 

   * 已发布。 

   */

  PUBLISHED("PUBLISHED", "已发布"); 

  /** 

   * 活动状态的值。 

   */

  private String value; 

  /** 

   * 活动状态的中文描述。 

   */

  private String text; 

  /** 

   * @param status 活动状态的值 

   * @param desc 活动状态的中文描述 

   */

  private EventStatus(String status, String desc) { 

    value = status; 

    text = desc; 

  } 

  /** 

   * @return 当前枚举对象的值。 

   */

  public String getValue() { 

    return value; 

  } 

  /** 

   * @return 当前状态的中文描述。 

   */

  public String getText() { 

    return text; 

  } 

  /** 

   * 根据活动状态的值获取枚举对象。 

   * 

   * @param status 活动状态的值 

   * @return 枚举对象 

   */

  public static EventStatus getInstance(String status) { 

    EventStatus[] allStatus = EventStatus.values(); 

    for (EventStatus ws : allStatus) { 

      if (ws.getValue().equalsIgnoreCase(status)) { 

        return ws; 

      } 

    } 

    throw new IllegalArgumentException("status值非法,没有符合课程状态的枚举对象"); 

  } 

}

java枚举类型有什么好处?请举个简单明了的例子

Enum是enumeration(列举)的简写形式,包含在java.lang包中.熟悉C, C++, C#, 或 Pascal人应该对列举有所了解,先看个例子:

public enum Season

一个enum是定义一组值的对象,它可以包括零个或多个值成员.它是属于enum类型的,一个enum对象中不可有两个或多个相同的属性或值.在次之前的java程序员一般是 用接口的方法实现列举的,如 :

public interface Season {

static winter = 0;

static spring = 1; //etc..

}

引入了enum的java的列举的编写方便了许多,只须定义一个enum型的对象.enum对象的值都回自动获得一个数字值,从0开始,依次递增.看一个比较简单的enum实现的例子:

EnumDemo.java

package net.javagarage.enums;

/*

We can loop over the values we put into the enum

using the values() method.

Note that the enum Seasons is compiled into a

separate unit, called EnumDemo$Seasons.class

*/

public class EnumDemo {

/*declare the enum and add values to it. note that, like in C#, we don't use a ; to

end this statement and we use commas to separate the values */

private enum Seasons { winter, spring,

summer, fall }

//list the values

public static void main(String[] args) {

for (Seasons s : Seasons.values()){

System.out.println(s);

}

}

}

运行上述代码你回得到 以下结果:

winter

spring

summer

fall

java的enum到底有什么用?

1.关于 Java Enum

Enum 一般用来表示一组相同类型的常量。如性别、日期、月份、颜色等。对这些属性用常量的好处是显而易见的,不仅可以保证单例,且比较时候可以用 ”==” 来替换 equals 。是一种好的习惯。 JDK1.5 之前没有 Enum 这个类型,那时候一般用接口常量来替代。有了 JavaEnum 之后,可以更贴近的表示这种常量。

2. 如何使用 Java Enum

简单的用法: JavaEnum 简单的用法一般用于代表一组常用常量,可用来代表一类相同类型的常量值。如:

//性别

public enum SexEnum { 

  male , female ; 

}

//颜色

public enum Color { 

  RED , BLUE,GREEN,BLACK ; 

}

枚举对象里面的值都必须是唯一的。

可以通过 Enum 类型名直接引用该常量,如 SexEnum.male,Color.RED.

复杂用法: Java 为枚举类型提供了一些内置的方法,同事枚举常量还可以有自己的方法。可以很方便的遍历枚举对象,看个下面的例子:

WeekDay.java

/**

 * @author admin

 * 2015-12-03

 * 定义一个枚举类型,代表星期一到星期日的7个缩写常量

 * 同时还定义了枚举类型的属性day,该属性可以是final,也可是变量

 * 同时还定义了该枚举类型的一个方法printDay

 */

public enum WeekDay {

Mon("Monday"), Tue("Tuesday"), Wed("Wednesday"), Thu("Thursday"), Fri(

        "Friday"), Sat("Saturday"), Sun("Sunday");

/**定义枚举类型自己的属性**/

private final String day;

 

private WeekDay(String day) {

     this.day = day;

}

/**定义枚举类型自己的方法**/

public static void printDay(int i){

     switch(i){

     case 1: System.out.println(WeekDay.Mon); break;

     case 2: System.out.println(WeekDay.Tue);break;

     case 3: System.out.println(WeekDay.Wed);break;

     case 4: System.out.println(WeekDay.Thu);break;

     case 5: System.out.println(WeekDay.Fri);break;

     case 6: System.out.println(WeekDay.Sat);break;

     case 7: System.out.println(WeekDay.Sun);break;

     default:System.out.println("wrong number!");

     }

}

 

public String getDay() {

     return day;

}

}

WeekDayTest.java

/**

 * @author admin

 * 2015-12-03

 * 测试枚举类型WeekDay.

 */

public class WeekDayTest {

  public static void main(String args[]) {

      for (WeekDay day : WeekDay.values()) {

         System.out.println(day + "====" + day.getDay());

      }

      WeekDay.printDay(5);

  }

}

输出结果为:

Mon====Monday

Tue====Tuesday

Wed====Wednesday

Thu====Thursday

Fri====Friday

Sat====Saturday

Sun====Sunday

Fri

java中的Enum枚举问题

枚举是一种特殊类型的映射,你就理解成一个个键值对就可以了。

man("男"),

woman("女");相对于普通类中的静态块。

当然就可以通过MySex.属性名进行调用了。由于是特殊的映射,value为默认取值的方法。当然就可以通过属性.value进行取值了。

java枚举demo的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java枚举的用法、java枚举demo的信息别忘了在本站进行查找喔。