java枚举的使用示例

代码如下:

public class test {
 public static void main(String[] args) {
  WeekDay w = WeekDay.MON;
  System.out.println(w);//自己会调用tostring方法
  System.out.println(w.ordinal());//打印是枚举列表第几个对象
  System.out.println(WeekDay.values().length);//一共有多少个枚举对象
 }
 public enum WeekDay{
  SAT,MON,TUE,WED,THU,FRI,SAT,
  private WeekDay(){
   System.out.println("11");
  }
  private WeekDay(int a){
   System.out.println("a");
  }
 }
}

首先上面定义一个简单的枚举类WeekDay

该类中的sat,mon..等实际上就是weekday类的对象

注意:

枚举类也有构造方法,构造方法必须是私有的;

通过下面代码应该就可以了解枚举类型的使用了,要结合内部类来理解

代码如下:

public enum TrefficLamp{
  RED(30){//红灯对象调用参数为int型的构造方法,
   public TrefficLamp nextLamp(){
    return GREEN;
   }
  },
  GREEN(20){
   public TrefficLamp nextLamp(){
    return YELLOW;
   }
  },
  YELLOW(2){
   public TrefficLamp nextLamp(){
    return RED;
   }
  };
  public abstract TrefficLamp nextLamp();
  private int time;
  private TrefficLamp(int time){
   this.time = time;
  };
 }

(0)

相关推荐

  • 全面解读Java中的枚举类型enum的使用

    关于枚举 大多数地方写的枚举都是给一个枚举然后例子就开始switch,可是我想说,我代码里头来源的数据不太可能就是枚举,通常是字符串或数字,比如一个SQL我解析后首先判定SQL类型,通过截取SQL的token,截取出来可能是SELECT.DELETE.UPDATE.INSERT.ALTER等等,但是都是字符串,此时我想用枚举就不行了,我要将字符串转换成枚举怎么转呢,类似的情况还有从数据库取出数据根据一些类型做判定,从页面传入数据,根据不同的类型做不同的操作,但是都是字符串,不是枚举,悲剧的是我很

  • java中枚举的详细使用介绍

    枚举特点 1.用enum定义枚举类默认继承了java.lang.Enum类而不是继承了Object类.其中java.lang.Enum类实现了java.lang.Serializable和java.lang.Comparable两个接口 2.枚举类的构造函数只能使用private访问修饰符,如果省略了其构造器的访问控制符,则默认使用private修饰: 3.枚举类的所有实例必须在枚举类中显式列出,否则这个枚举类将永远都不能产生实例.列出这些实例时,系统会自动添加public static fin

  • java实现高效的枚举元素集合示例

    思路分析:可以通过为EnumSet指定类型,该类型即为在同一包中定义的枚举类.使用EnumSet类的add()方法添加元素,使用EnumSet类的remove()方法删除元素,使用EnumSet类的complementOf()方法获取对象的全部,使用EnumSet类的range()方法获取指定范围的元素. 代码如下: 复制代码 代码如下: package cn.edu.xidian.crytoll;public enum Weeks {    MONDAY, TUESDAY, WEDNESDAY

  • Java5 枚举类详解及实例代码

    枚举(enum)类型是Java 5新增的特性,它是一种新的类型,允许用常量来表示特定的数据片断,而且全部都以类型安全的形式来表示. 1.常量的使用 在JDK1.5之前,我们定义常量都是:public static fianl.....现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法. package com; public enum Color { RED, GREEN, BLANK, YELLOW } 使用 package com; public cla

  • java中的枚举类型详细介绍

    枚举中有values方法用于按照枚举定义的顺序生成一个数组,可以用来历遍.我们自定义的枚举类都是继承自java.lang.Enum,拥有一下实例中的功能: 复制代码 代码如下: //: enumerated/EnumClass.java // Capabilities of the Enum class import static net.mindview.util.Print.*; enum Shrubbery { GROUND, CRAWLING, HANGING } public clas

  • Java枚举类用法实例

    本文实例讲述了Java枚举类用法.分享给大家供大家参考.具体如下: package com.school.stereotype; /** * 活动枚举类型 * @author QiXuan.Chen */ public enum EventStatus { /** * 未发布. */ DRAFT("DRAFT", "未发布"), /** * 已发布. */ PUBLISHED("PUBLISHED", "已发布"); /**

  • Java的枚举类型使用方法详解

    1.背景 在java语言中还没有引入枚举类型之前,表示枚举类型的常用模式是声明一组具有int常量.之前我们通常利用public final static 方法定义的代码如下,分别用1 表示春天,2表示夏天,3表示秋天,4表示冬天. public class Season { public static final int SPRING = 1; public static final int SUMMER = 2; public static final int AUTUMN = 3; publ

  • java自定义枚举转换器示例

    java自定义枚举转换器 复制代码 代码如下: import org.apache.commons.beanutils.Converter; /** * 自定义枚举转换器 *  *  */public class MyEnumConverter implements Converter { @Override // 将value 转换为 c类型 --- 枚举通用转换器 public Object convert(Class c, Object value) {  String strVal =

  • Java枚举详解及使用实例(涵盖了所有典型用法)

    在实际编程中,往往存在着这样的"数据集",它们的数值在程序中是稳定的,而且"数据集"中的元素是有限的. 例如星期一到星期日七个数据元素组成了一周的"数据集",春夏秋冬四个数据元素组成了四季的"数据集". 在java中如何更好的使用这些"数据集"呢?因此枚举便派上了用场,以下代码详细介绍了枚举的用法. package com.ljq.test; /** * 枚举用法详解 * * @author jiqinli

  • 基于java枚举类综合应用的说明

    如下面代码以交灯为示例: 复制代码 代码如下: public class Test { public static void main(String[] args) {         Trafficlight light = Trafficlight.RED; System.out.println(light.time);         System.out.println(light.nextLigth());         // ordinal()方法返回枚举声明的顺序        

  • 浅析Java编程中枚举类型的定义与使用

    定义枚举类型时本质上就是在定义一个类,只不过很多细节由编译器帮您补齐了,所以某些程度上,enum关键字的 作用就像是class或interface. 当您使用"enum"定义枚举类型时,实质上您定义出来的类型继承自 java.lang.Enum 类,而每个枚举的成员其实就是您定义的枚举类型的一个实例(Instance),它们都被默认为 final,所以您无法改变它们,它们也是 static 成员,所以您可以透过类型名称直接使用它们,当然最重要的,它们都 是公开的(public). 举个

随机推荐