Java 枚举--枚举的作用

简介: 枚举就是规定好了指定的取值范围,所有的内容只能从指定的范围中取得。使用简单类完成颜色的固定取值问题。<br><p>也就是说此时,一个类只能产生固定的几个对象。</p> <p></p><pre code_snippet_id="105256" snippet_file_name="blog_20131210_1_6466889" name="code" class="java">clas
枚举就是规定好了指定的取值范围,所有的内容只能从指定的范围中取得。使用简单类完成颜色的固定取值问题。

也就是说此时,一个类只能产生固定的几个对象。

class Color{
	public static final Color RED = new Color("红色") ;	// 定义第一个对象
	public static final Color GREEN = new Color("绿色") ;	// 定义第一个对象
	public static final Color BLUE = new Color("蓝色") ;	// 定义第一个对象
	private String name ;
	private Color(String name){
		this.name = name ;
	}
	public void setName(String name){
		this.name = name ;
	}
	public String getName(){
		return this.name ;
	}
	public static Color getInstance(int i){
		switch(i){
			case 1:{
				return RED ;
			}
			case 2:{
				return GREEN ;
			}
			case 3:{
				return BLUE ;
			}default:{
				return null ;
			}
		}

	}
};
public class ColorDemo01{
	public static void main(String args[]){
		Color c1 = Color.RED ;	// 取得红色
		System.out.println(c1.getName()) ;	// 输出名字
		Color c2 = Color.getInstance(3) ;	// 根据编号取得名字
		System.out.println(c2.getName()) ;
	}
};
此时,程序限定了所能取的对象的范围,所以达到了枚举的功能。

定义一个枚举类型


使用enum关键字定义:
public enum Color{
	RED,GREEN,BLUE ;	// 定义三个枚举的类型
};
枚举中有三个取值。
以后在取得的时候,只能从这三个内容取
public class GetEnumContent{
	public static void main(String args[]){
		Color c = Color.BLUE ;		// 取出蓝色
		System.out.println(c) ;
	}
};
因为枚举已经指定好了范围,所以可以使用foreach进行全部的输出,使用“枚举.values()”的形式取得全部的枚举内容。
public class PrintEnum{
	public static void main(String args[]){
		for(Color c:Color.values()){	// 输出枚举中的全部内容
			System.out.println(c) ;	
		}
	}
};
还可以直接将内容在SWITCH语句上使用。
public class SwitchPrintEnum{
	public static void main(String args[]){
		for(Color c:Color.values()){	// 输出枚举中的全部内容
			print(c) ;
		}
	}
	public static void print(Color color){
		switch(color){
			case RED:{
				System.out.println("红颜色") ;
				break ;
			}
			case GREEN:{
				System.out.println("绿颜色") ;
				break ;
			}
			case BLUE:{
				System.out.println("蓝颜色") ;
				break ;
			}
			default:{
				System.out.println("未知颜色") ;
				break ;
			}
		}
	}
};

目录
相关文章
|
Java
java小工具util系列4:基础工具代码(Msg、PageResult、Response、常量、枚举)
java小工具util系列4:基础工具代码(Msg、PageResult、Response、常量、枚举)
181 24
|
安全 Java 测试技术
🎉Java零基础:全面解析枚举的强大功能
【10月更文挑战第19天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
557 60
|
安全 Java 开发者
Java 枚举(enum)详解
Java 中的枚举(`enum`)是一种特殊的数据类型,用于定义一组固定的常量,提升代码的类型安全性和可读性。枚举使用 `enum` 关键字定义,支持方法和构造函数,具有类型安全、单例、自动序列化等特点,并且可以遍历和用于 `switch` 语句中。实际应用包括状态机、指令集、类型标识等场景。枚举使代码更加清晰易维护。
1157 2
|
Java
java小工具util系列4:基础工具代码(Msg、PageResult、Response、常量、枚举)
java小工具util系列4:基础工具代码(Msg、PageResult、Response、常量、枚举)
241 5
|
安全 Java 索引
Java——反射&枚举
本文介绍了Java反射机制及其应用,包括获取Class对象、构造方法、成员变量和成员方法。反射允许在运行时动态操作类和对象,例如创建对象、调用方法和访问字段。文章详细解释了不同方法的使用方式及其注意事项,并展示了如何通过反射获取类的各种信息。此外,还介绍了枚举类型的特点和使用方法,包括枚举的构造方法及其在反射中的特殊处理。
273 9
Java——反射&枚举
|
安全 Java 编译器
Java枚举使用的基本案例
这篇文章是关于Java枚举的基本使用,通过一个指令下发的代码案例,展示了如何定义枚举、使用枚举以及如何通过枚举实现指令的匹配和处理。
|
Java 开发者
在Java编程中,if-else与switch作为核心的条件控制语句,各有千秋。if-else基于条件分支,适用于复杂逻辑;而switch则擅长处理枚举或固定选项列表,提供简洁高效的解决方案
在Java编程中,if-else与switch作为核心的条件控制语句,各有千秋。if-else基于条件分支,适用于复杂逻辑;而switch则擅长处理枚举或固定选项列表,提供简洁高效的解决方案。本文通过技术综述及示例代码,剖析两者在性能上的差异。if-else具有短路特性,但条件增多时JVM会优化提升性能;switch则利用跳转表机制,在处理大量固定选项时表现出色。通过实验对比可见,switch在重复case值处理上通常更快。尽管如此,选择时还需兼顾代码的可读性和维护性。理解这些细节有助于开发者编写出既高效又优雅的Java代码。
258 2
【Java】内部类、枚举、泛型
【Java】内部类、枚举、泛型
163 0
|
前端开发 JavaScript Java
【前端学java】Java中的接口和枚举概念(8)
【8月更文挑战第9天】Java中的接口和枚举概念(8)
190 4