`

Java枚举

阅读更多

 

枚举(enum)类型是Java 5新增的特性,它是一种新的类型,允许用常量来表示特定的数据片断,而且全部都以类型安全 的形式来表示。

枚举在什么地方适用呢?一条普遍规则是,任何使用常量的地方,例如目前用 switch 代码切换常量的地方。如果只有单独一个值(例如,鞋的最大尺寸,或者笼子中能装猴子的最大数目),则还是把这个任务留给常量吧。但是,如果定义了一组值, 而这些值中的任何一个都可以用于特定的数据类型,那么将枚举用在这个地方最适合不过。

package com.yt.manager.tenum;

public enum FirstEnum {

	// 定义时,枚举值间有逗号隔开,最后用分号结束
	Monday, Tuesday, Wednesday, Turday, Friday, JavaEye, C;
	// 定义一个属性
	private final static String location = "javaEye";

	// 定义一个方法
	public static FirstEnum getInformation() {
		if (location.equals("javaEye")) {
			return JavaEye;
		} else {
			return C;
		}
	}
}
 
package com.yt.manager.tenum;

/**
 * 你可以通过括号来给enum赋值,这样的话,你必须有带参的构造方法,还需要有一属性与方法,否则编译时会出错。
 * 另外,你如果给enum里面的元素赋值的话,要么都赋,要么都不赋,不要东赋一个,西赋一个。
 * 如果不赋值则不能写构造方法,如果你赋值了,而没有构造方法,编译还是通不过,废话不多少,来,看:
 * 
 * @author zxf
 * 
 */
public enum ParamEnum {

	Test1(21), Test2(22), Test3(23), Test4(24);
	private final int age;

	ParamEnum(int value) { // 构造器只能是默认或者private, 从而保证构造函数只能在内部使用
		this.age = value;
	}

	public int getAge() {
		return age;
	}
}
 
package com.yt.manager.tenum;

public class TestEnum {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		/**
		 * 枚举类型是一种类型,既然是类型,就是跟int,char他们 一样的, 
         * 拿来定义变量,限制你对变量的赋值,就像 int a,你不能够给a一个 string的值 
         * 同理,一个枚举用来定义一个变量时,你只能够赋枚举值,其方式为 
         * "枚举名.值" 
		 */
		FirstEnum e = FirstEnum.Monday;
		
		switch (e) {
		case Monday:
			System.out.println("this is Monday!");
			break;
		case Tuesday:
			System.out.println("this is Tuesday!");
			break;
		default:
			System.out.println("other");
			break;
		}
		
		/**
		 * 枚举元素的个数
		 */
		System.out.println(FirstEnum.values().length);
		/**
		 * 调用 ordinal()方法,返回枚举值在枚举中的索引,数组索引嘛,当然从0开始
		 */
		System.out.println(FirstEnum.Monday.ordinal());
		
		/**
		 * 遍历所有值
		 */
		for(int i=0;i<FirstEnum.values().length;i++){
			System.out.println(FirstEnum.values()[i]);
		}
		for(FirstEnum f : FirstEnum.values()){
			System.out.println(f);
		}
		
		/**
		 * 直接调用枚举里面的方法
		 */
		System.out.println(FirstEnum.getInformation());
		
		/**
		 * 调用带参数的枚举
		 * 
		 */
		for(ParamEnum p : ParamEnum.values()){
			/*通过getValue()取得相关枚举的值*/ 
			System.out.println(p.getAge());  
		}
	}

}
分享到:
评论
1 楼 nforce_com 2011-04-01  

相关推荐

    java枚举实例代码

    Java枚举(enum)是Java语言中的一种特殊数据类型,用于定义一组有限的常量,这些常量在程序中作为固定的值使用。枚举在Java中被引入,目的是为了更好地管理和使用常量,提高代码的可读性和安全性。在本实例代码中,...

    Java枚举类型Enum的用法

    Java枚举类型(Enum)是Java SE 5.0引入的一种新的数据类型,它为开发者提供了更为强大且安全的方式来表示一组常量。枚举在Java中不仅是一个类,还是一种特殊的类型,允许我们定义自己的常量集合。接下来,我们将...

    java枚举类型说明

    ### Java枚举类型详解 #### 一、引言 在Java编程语言中,枚举(Enum)作为一种重要的数据类型,在程序设计中扮演着不可或缺的角色。本文将深入探讨Java枚举类型的特性和用法,并通过具体实例说明其优势所在。枚举...

    简单总结java枚举类型

    Java枚举类型是Java语言中一种特殊的类,用于定义固定的常量集合,它提供了一种安全、类型化的方式来表示一组有限的值。枚举在Java中被引入为一个完整的类型,不同于C++中的枚举,这使得Java枚举更加强大且易于使用...

    java枚举状态机

    Java枚举(Enum)状态机是一种使用枚举类型来实现状态转换逻辑的编程技术,它在Java编程中被广泛应用于管理对象的状态变化。状态机是一种模型,用于描述一个系统或对象在不同时间点可能存在的状态以及如何从一个状态...

    java枚举结果类、根据状态值获取枚举值

    java枚举结果类、根据状态值获取枚举值 Controller: /** 模块类型枚举 */ model.addAttribute("mType", ModuleTypeEnum.ModuleTypeShow()); ftl: value="${mType.key}:${mType.value}” &lt;/#list&gt;

    java枚举类用法

    Java枚举类型(enum)是Java语言中一种特殊的类,用于定义一组固定的常量。它在许多场景下作为替代常量或单例模式的选择,提供了更安全、更易读的代码。下面我们将深入探讨Java枚举类的用法及其优势。 1. **枚举的...

    高阶Java-Java枚举类型 enum 应用详解

    本篇文章将深入探讨Java枚举的特性、用法以及如何在实际开发中充分利用它们。 一、枚举的基本用法 1. 声明枚举类型: ```java public enum Color { RED, GREEN, BLUE } ``` 在这里,`Color`是枚举类型,`RED`, `...

    理解java枚举类型

    Java枚举类型是Java语言中的一种特殊的类,用于定义一组固定的常量集合。它在Java中扮演着重要的角色,提供了一种安全、类型化的常量表示方式,比传统的final static变量更具有优势。理解Java枚举类型对于编写高质量...

    列举java 枚举相关信息

    ### Java 枚举类型详解 #### 一、引言 ...通过以上的介绍,我们可以看到Java枚举类型不仅提供了类型安全的保障,还为开发者带来了极大的灵活性。合理地使用枚举类型,可以显著提高代码的质量和可维护性。

    Java枚举类型.pdf

    在本文中,我们将深入探讨Java枚举的定义、使用方法以及它如何改善传统使用`static final`常量的模式。 首先,让我们看看传统的`static final`常量表示枚举的方式。例如,清单1展示了如何使用`public static final`...

    java枚举的一个实例

    Java枚举是编程语言Java中的一个特色特性,它在类、接口和变量的定义中扮演着特殊的角色。枚举在Java中被用作一种数据类型,用于定义一组固定的常量,这些常量可以代表特定的值或状态。通过枚举,我们可以确保变量...

    如何使用Java枚举类型

    一个关于JAVA枚举类型的MHT文件,包含JAVA枚举类型的用法,以及JDK版本的问题。

    java枚举ppt和详细代码

    Java枚举是面向对象编程中的一个重要特性,它用于定义固定的常量集合,这些常量通常代表某种特定的数据类型。在Java中,枚举提供了一种更安全、更规范的方式来处理常量,相比于传统的final static变量,枚举具有更多...

    Java枚举与设计模式

    本文详尽地论述了Java枚举与设计模式的关系

    java枚举,以及自己总结的两个示例.xmind

    如有侵权请联系删除,欢迎批评指正 java枚举,起初在网上抄了一部分,然后自己加了点示例,做一个记录,也算是为以后留个备份,技术小白一个,还在努力成长

    java枚举类的属性、方法和构造方法应用实战

    Java 枚举类的属性、方法和构造方法应用实战 Java 枚举类是一种特殊的类,它拥有自己的属性、方法和构造方法。本文将详细介绍 Java 枚举类的属性、方法和构造方法应用实战,结合实例形式分析了 Java 枚举类的定义、...

    JAVA枚举类型的用法详解

    下面我们将深入探讨Java枚举类型的常见用法。 首先,枚举类型在本质上等同于定义了一组静态常量。创建枚举类型的语法如下: ```java public enum Belle { para1, para2, para3, para4; } ``` 这会创建一个名为`...

    深入理解 Java 枚举(枚举的方法+枚举的特性+枚举可以实现接口+组织枚举+策略枚举+枚举工具类等)

    深入理解 Java 枚举 Java 枚举是 Java 语言中的一种特殊类型,自 JDK 5 开始引入,使用 enum 关键字修饰。在 Java 中,枚举是一种受限制的类,具有自己的方法。枚举的本质是 java.lang.Enum 的子类,它提供了一些...

    全面掌握java枚举类型(enum-type)1

    全面掌握 Java 枚举类型(enum type) Java 枚举类型是一种特殊的数据类型,它可以取有限个数的明确值。枚举类型的引入解决了 int 枚举模式和 String 枚举模式的缺点,提供了类型安全性、可读性和性能等优势。 ...

Global site tag (gtag.js) - Google Analytics