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 ;
			}
		}
	}
};

目录
相关文章
|
1月前
|
安全 Java
Java 枚举(Enums)解析:提高代码可读性与易维护性
在 Java 中,实现抽象的另一种方式是使用接口。 接口定义 接口是一个完全抽象的类,用于将具有空方法体的相关方法分组:
71 1
|
2月前
|
存储 安全 Java
解密 Java 枚举的奥秘:超越常量的选择
解密 Java 枚举的奥秘:超越常量的选择
33 0
|
3月前
|
开发框架 Java 编译器
Java反射,枚举讲解
Java反射,枚举讲解
43 0
|
3月前
|
分布式计算 Java 大数据
IO流【Java对象的序列化和反序列化、File类在IO中的作用、装饰器模式构建IO流体系、Apache commons-io工具包的使用】(四)-全面详解(学习总结---从入门到深化)
IO流【Java对象的序列化和反序列化、File类在IO中的作用、装饰器模式构建IO流体系、Apache commons-io工具包的使用】(四)-全面详解(学习总结---从入门到深化)
53 0
|
14天前
|
Java API
Java基础—笔记—内部类、枚举、泛型篇
本文介绍了Java编程中的内部类、枚举和泛型概念。匿名内部类用于简化类的创建,常作为方法参数,其原理是生成一个隐含的子类。枚举用于表示有限的固定数量的值,常用于系统配置或switch语句中。泛型则用来在编译时增强类型安全性,接收特定数据类型,包括泛型类、泛型接口和泛型方法。
9 0
|
1月前
|
Java
JAVA枚举
JAVA枚举
12 1
|
2月前
|
Java
|
2月前
|
Java
Java枚举简述
Java枚举简述
15 0
|
2月前
|
Java 程序员 索引
括号在 Java 编程中的作用详解
括号在 Java 编程中的作用详解
68 0
|
3月前
|
存储 Java 数据安全/隐私保护
Java序列化有什么作用
Java序列化有什么作用