在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. 160628、利用Oracle rownum让表排序字段值连续

    利用Oracle rownum让表排序字段值连续 1.需求说明 表(eval_index)中有字段如下: 表字段 描述 说明 ID 主键 GROUP_ID 分组编号 SORT_NUM 排序序号 按照分 ...

  2. 160627、你想知道的关于JavaScript作用域的一切

    JavaScript中有许多章节是关于scope的,但是对于初学者来说(甚至是一些有经验的JavaScript开发者),这些有关作用域的章节既不直接也不容易理解. 这篇文章的目的就是为了帮助那些想更深 ...

  3. squid3认证配置

    在使用squid3的时候为了安全我们通常添加基于账号密码的认证方便管理也防止被检测 1. 密码文件准备 密码配置我们使用htpasswd配置,htpasswd可以自己安装如果找不到就直接安装apach ...

  4. Powershell Function Get-PendingReboot

    获取系统中Restart Pending的计算机 $servers=get-content D:\serverlist.txt Get-PendingReboot -ComputerName $ser ...

  5. php strcmp()字典排序

    字典排序(lexicographical order)是一种对于随机变量形成序列的排序方法.其方法是,按照字母顺序,或者数字小大顺序,由小到大的形成序列. 比如,字典中a-z,是依次递增的,a,b,c ...

  6. USB 3.0:那些你需要知道的事

    在过去14年来,通用串行总线(USB)已成为计算机和外部设备之间的标准接口.不管是移动硬盘.相机.鼠标.键盘.打印机,还是扫描仪,它们和计算机之间的数据传输一般均采用USB线.USB接口也的确是“通用 ...

  7. 初识python (一)

    初识Python(一) python2和python3的一些区别 Python2 和 Python3 区别汇总:http://www.cnblogs.com/bigtreei/p/7806288.ht ...

  8. JAVA三框架工作原理是什么?

    一.struts的工作原理: 1.初始化,读取struts-config.xml.web.xml等配置文件(所有配置文件的初始化) 2.发送HTTP请求,客户端发送以.do结尾的请求 3.填充Form ...

  9. Android--Apache HttpClient(2种实现)

    前言 上一篇文章介绍了使用HttpURLConnection来完成对于HTTP协议的支持,现在介绍一个新的方式来访问Web站点,那就是HttpClient. HttpClient是Apache开源组织 ...

  10. 系列文章(三):WAPI为无线局域网WLAN安全而生——By Me

    导读:无线局域网(又称为WLAN,Wireless Local Area Network),其应用领域不断拓展,无线接入所具有的前所未有的连接性和自动化能够为人们带来巨大的便利和商机.与此同时,在信息 ...