在java SE5中添加了枚举类型,即enum关键字。在这之前,当你需要创建一个整形常量集时,但是这些枚举值并不会必然的将其自身的取值限制在这个常量集的范围之内,因此这样做的显得不安全,也不方便使用。现在有了enum,就解决了上述的问题。

  虽然enum看起来像一张新的数据类型,事实上enum是一个类,并且也有自己的方法(toString()  ordinal()  static values())。在使用的时候我们可以把enum当作一种创建数据类型的方式。

  枚举类型的实例是常量,因此都用大写字母表示。

1、先创建一个枚举类型

 package enumDemo;
/**
* 创建enum类型
* @author dyf
*
*/
public class Enum {
public enum test{
NOT,
MILD,
MEDIUM,
HOT,
FLAMING;
}
}

2、测试enum自己的方法(toString()  ordinal()  static values()),

 package enumDemo;
/**
* 测试enum自己的方法toString() ordinal() static values()
*/
import enumDemo.Enum.test; public class TestEnum {
public static void main(String[] args) {
//-----------------------------------------------
/**
* 枚举类的使用
*/
test e = test.MEDIUM;
System.out.println(e);
//----------------------------------------------- /**
* 创建enum时,编译器会自动添加一些有用的特性。如
* toString 方法,显示enum实例的名字
* ordinal() static values()方法,表示某个特定enum常量的声明顺序
*/
for (test t : test.values()) {
System.out.println(t + "---ordinal---" + t.ordinal());
} //----------------------------------------------- }
}

打印结果:

MEDIUM
NOT---ordinal---0
MILD---ordinal---1
MEDIUM---ordinal---2
HOT---ordinal---3
FLAMING---ordinal---4

3、enum和switch结合使用,由于switch是要在有限的可能值集合中进行选择,因此与enum正式绝佳的组合。

 package enumDemo;
/**
* enum与switch结合使用
*/
import enumDemo.Enum.test; public class TestEnumAndSwitch {
test t;
public TestEnumAndSwitch(test t){
this.t = t;
} public void describe(){
System.out.println("This TestEnumAndSwitch is ");
switch(t){
case NOT: System.out.println("not spicy at all");
break;
case MILD: System.out.println("=========1");
case MEDIUM: System.out.println("a little hot");
break;
case HOT: System.out.println("=========2");
case FLAMING: System.out.println("=========3");
default: System.out.println("maybe too hot");
}
} public static void main(String[] args) {
TestEnumAndSwitch
t1 = new TestEnumAndSwitch(test.NOT),
t2 = new TestEnumAndSwitch(test.MEDIUM),
t3 = new TestEnumAndSwitch(test.HOT);
t1.describe();
t2.describe();
t3.describe();
}
}

打印结果:

This TestEnumAndSwitch is
not spicy at all
This TestEnumAndSwitch is
a little hot
This TestEnumAndSwitch is
=========2
=========3
maybe too hot

java 枚举类型 enum的更多相关文章

  1. 【转】java枚举类型enum的使用

    原文网址:http://blog.csdn.net/wgw335363240/article/details/6359614 java 枚举类型enum 的使用 最近跟同事讨论问题的时候,突然同事提到 ...

  2. 转载 java枚举类型enum的使用 (原文地址:http://blog.csdn.net/wgw335363240/article/details/6359614)

    java枚举类型enum的使用 最近跟同事讨论问题的时候,突然同事提到我们为什么java中定义的常量值不采用enmu枚举类型,而采用public final static 类型来定义呢?以前我们都是采 ...

  3. 深入理解Java枚举类型(enum)

    https://blog.csdn.net/javazejian/article/details/71333103 深入理解Java类型信息(Class对象)与反射机制 深入理解Java枚举类型(en ...

  4. 【转】掌握java枚举类型(enum type)

    原文网址:http://iaiai.iteye.com/blog/1843553 1   背景 在java语言中还没有引入枚举类型之前,表示枚举类型的常用模式是声明一组具有int常量.之前我们通常利用 ...

  5. java枚举类型enum的使用

    2015-10-24 java达人 Java 中 的枚举类型采用关键字enum 来定义,从jdk1.5才有的新类型,所有的枚举类型都是继承自Enum 类型.要了解枚举类型,建议大家先打开jdk 中的E ...

  6. java 枚举类型enum

    简单介绍 Java 中的枚举类型采用关键字enum 来定义,从jdk1.5才有的新类型,所有的枚举类型都是继承自Enum 类型.要了解枚举类型,建议大家先打开jdk 中的Enum 类简单读一下,这个类 ...

  7. Java枚举类型 enum

    定义 An enum type is a special data type that enables for a variable to be a set of predefined constan ...

  8. Java枚举类型enum使用详解

      java的Enum枚举类型终于在j2se1.5出现了.之前觉得它只不过是鸡肋而已,可有可无.毕竟这么多年来,没有它,大家不都过得很好吗?今日看<Thinking in Java>4th ...

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

    这篇文章主要介绍了Java中的枚举类型enum的使用,开始之前先讲解了枚举的用处,然后还举了枚举在操作数据库时的实例,需要的朋友可以参考下 关于枚举 大多数地方写的枚举都是给一个枚举然后例子就开始sw ...

随机推荐

  1. 第13章—数据库连接池(Druid)

    spring boot 系列学习记录:http://www.cnblogs.com/jinxiaohang/p/8111057.html 码云源码地址:https://gitee.com/jinxia ...

  2. 删除DOM元素 parent.removeChild(target)

    p.removeChild(p.children[0]);

  3. window下安装mysql详细步骤

    1.下载安装包 打开mysql官网下载页面:http://dev.mysql.com/downloads/mysql/ 1.选择相应的版本和平台 2.mysql配置 打开刚刚解压的文件夹F:\mysq ...

  4. CSS:列表样式(设置列表项的标志图案/位置)

    通过CSS 列表属性能够放置.改变列表项标志.或者将图像作为列表项标志. 代码整理自w3school:http://www.w3school.com.cn 效果图: watermark/2/text/ ...

  5. 为什么JSP的内置对象不需要声明

    本文将通过对一个JSP运行过程的剖析,深入JSP运行的内幕,并从全新的视角阐述一些JSP中的技术要点. HelloWorld.jsp 我们以Tomcat 4.1.17服务器为例,来看看最简单的Hell ...

  6. 注册tomcat为windows服务(转载)

    第一部分 应用场景 需要服务器上Tomcat不显示启动窗口 需要服务器上Tomcat开机自启动 ... 第二部分 配置过程 一.修改配置文件 1 {Tomcat_HOME}/bin/service.b ...

  7. C语言自带快速排序对比插入排序

    #include <stdio.h> #include <stdlib.h> #include <time.h> void getRandomArr (int ar ...

  8. Dora.Interception, 为.NET Core度身打造的AOP框架[3]:Interceptor的注册

    在<不一样的Interceptor>中我们着重介绍了Dora.Interception中最为核心的对象Interceptor,以及定义Interceptor类型的一些约定.由于Interc ...

  9. 快速排序算法C语言版

    快速排序(Quicksort)是对冒泡排序的一种改进.  快速排序由C. A. R. Hoare在1962年提出.它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比 ...

  10. Mootools遮罩层练习(原为网上的jquery写法)

    <html > <head> <meta charset="utf-8" /> <title>mootools 遮罩层</ti ...