枚举(enum)类型是Java 5新增的特性,它是一种新的类型,允许用常量来表示特定的数据片断,而且全部都以类型安全的形式来表示。
1、常量的使用
在JDK1.5之前,我们定义常量都是:public static fianl....。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。
1
2
3
4
5
6
7
|
package com; public enum Color {
RED, GREEN, BLANK, YELLOW
} |
使用
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
package com; public class B {
public static void main(String[] args) {
System. out .println( isRed( Color.BLANK ) ) ; //结果: false
System. out .println( isRed( Color.RED ) ) ; //结果: true
}
static boolean isRed( Color color ){
if ( Color.RED. equals ( color )) {
return true ;
}
return false ;
}
} |
或者 switch 的使用
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
package com; public class B {
public static void main(String[] args) {
showColor( Color.RED );
}
static void showColor(Color color){
switch ( color ) {
case BLANK:
System. out .println( color );
break ;
case RED :
System. out .println( color );
break ;
default :
System. out .println( color );
break ;
}
}
} |
2、自定义函数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
package com; public enum Color {
RED( "红色" , 1), GREEN( "绿色" , 2), BLANK( "白色" , 3), YELLO( "黄色" , 4);
private String name ;
private int index ;
private Color( String name , int index ){
this .name = name ;
this .index = index ;
}
public String getName() {
return name;
}
public void setName(String name) {
this .name = name;
}
public int getIndex() {
return index;
}
public void setIndex( int index) {
this .index = index;
}
} |
使用
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
package com; public class B {
public static void main(String[] args) {
//输出某一枚举的值
System. out .println( Color.RED.getName() );
System. out .println( Color.RED.getIndex() );
//遍历所有的枚举
for ( Color color : Color.values()){
System. out .println( color + " name: " + color.getName() + " index: " + color.getIndex() );
}
}
} |
结果
红色
1
RED name: 红色 index: 1
GREEN name: 绿色 index: 2
BLANK name: 白色 index: 3
YELLO name: 黄色 index: 4
总结:
1、枚举的本质是类,在没有枚举之前,仍然可以按照java最基本的编程手段来解决需要用到枚举的地方。枚举屏蔽了枚举值的类型信息,不像在用public static final定义变量必须指定类型。枚举是用来构建常量数据结构的模板,这个模板可扩展。枚举的使用增强了程序的健壮性,比如在引用一个不存在的枚举值的时候,编译器会报错。枚举的更多用法还需要在开发中去研究创造,Java5、Java6增加了不少新的特性,技术在升级,对程序员来说就要学习,如果你热爱java的话。否则别人用到新特性的代码你看不懂,那才叫郁闷。
2、枚举在Java家族中只占了很小的一块比重,所以我在项目中用枚举的地方不是很多,毕竟,一个项目是很多人开发维护的,用一个陌生的东西,会给其他的同事造成阅读困难。所以常量大都是用public static final 来定义的。
出自:http://www.cnblogs.com/zhaoyanjun/p/5659811.html
相关推荐
首先,让我们理解枚举类的基本概念。枚举类在Java中用于定义一组相关的固定数量的值,这些值通常代表常量。例如: ```java public enum Color { RED, GREEN, BLUE } ``` 在这个例子中,`Color`枚举定义了三个常量...
Java枚举(enum)是Java语言中的一种特殊数据类型,用于定义一组有限的常量,这些常量在程序中作为固定的值使用。枚举在Java中被引入,目的是为了更好地管理和使用常量,提高代码的可读性和安全性。在本实例代码中,...
代码中包含枚举类的基本使用,和完整的请求示例。 主要实现了枚举类创建单例后,将结果返回给前端。 看过一些其他人的实现,都比较麻烦。这是结合一些博主的代码,摸索出来的比较方便的方案。 缺点就是 多线程下会...
本篇文章将深入探讨Java枚举的使用及其背后的原理。 一、枚举的定义与使用 1. 基本用法: 在Java中,枚举可以通过`enum`关键字来创建。例如,我们可以定义一个表示一周七天的枚举类型: ```java public enum ...
本篇文章将深入探讨Java 5中的枚举基本应用,包括创建枚举、枚举方法、枚举实例以及枚举与switch语句的结合使用。 1. 创建枚举: 要创建枚举,我们需要使用`enum`关键字,后跟枚举名和一对大括号,其中包含枚举值...
Java枚举类型是Java语言中的一种特殊的类,用于定义一组固定的常量集合。它在Java中扮演着重要的角色,提供了一种安全、类型化的常量表示方式,比传统的final static变量更具有优势。理解Java枚举类型对于编写高质量...
本篇文章将深入探讨Java枚举的特性、用法以及如何在实际开发中充分利用它们。 一、枚举的基本用法 1. 声明枚举类型: ```java public enum Color { RED, GREEN, BLUE } ``` 在这里,`Color`是枚举类型,`RED`, `...
"java枚举类的构造函数实例详解" Java 枚举类是 Java 语言的一种特殊类型,它可以定义一组固定的常量。枚举类的构造函数是枚举类的核心,它决定了枚举类的行为和特性。在本文中,我们将详细介绍 Java 枚举类的构造...
Java 枚举是 Java 语言中的一种特殊类型,自 JDK 5 开始引入,使用 enum 关键字修饰。在 Java 中,枚举是一种受限制的类,具有自己的方法。枚举的本质是 java.lang.Enum 的子类,它提供了一些基本方法,如 values()...
枚举在Java中的使用不仅提高了代码的可读性和可维护性,还避免了传统常量类的一些潜在问题,如类型安全和非法实例化。 首先,我们来看枚举的基本定义。枚举类型的声明类似于类的声明,但用关键字`enum`开头。例如:...
这篇博客将深入探讨Java枚举的特性和使用方法,包括`EnumSet`和`EnumMap`这两个与枚举相关的数据结构。 首先,枚举定义的基本语法是`public enum EnumName {constant1, constant2, ...}`。每个枚举常量都是`...
Java 中使用关键字 enum 来定义一个枚举类型。例如: ```java public enum Season { SPRING, SUMMER, AUTUMN, WINTER; } ``` 特点 Java 定义枚举类型的语句很简约。它有以下特点: 1. 使用关键字 enum 2. 类型...
总结来说,Java中的枚举类是一种强大的工具,可以用来定义固定集合的常量,并且可以实现接口和使用注解来增强功能。通过学习和熟练掌握枚举类的使用,开发者可以编写出更加清晰、可维护的代码。
声明枚举结构数组的基本语法如下: ```csharp WeekDays[] weekPlan = new WeekDays[7]; ``` 数组初始化时,可以逐个赋值,也可以使用花括号一次性赋值: ```csharp weekPlan = new WeekDays[] { WeekDays.Monday,...
尽管枚举类不能被继承,但每个枚举类型都隐式地继承了`java.lang.Enum`类,这意味着它们可以实现接口并提供具体实现。这使得枚举可以具有多态行为。 6. 枚举的序列化 默认情况下,枚举是可序列化的。如果不需要...
首先,枚举的基本语法是定义一个公共类,前面加上关键字`enum`。例如: ```java public enum Color { RED, GREEN, BLUE } ``` 在这个例子中,`Color`是一个枚举类型,`RED`, `GREEN`, `BLUE`是该枚举类型的三个...
Java枚举类型是Java语言从1.5版本开始引入的一种强类型、安全且具有固定数量值的数据类型。在引入枚举之前,开发人员通常使用`public final static`整型常量或者字符串常量来模拟枚举的行为,但这存在类型安全性和...
Java枚举(enum)是Java语言提供的一种特殊的数据类型,用于定义一组有限的常量,这些常量在程序中作为固定的值使用。枚举在Java中是类的子类型,因此,它们具备类的一些特性,比如可以有方法、变量以及实现接口。...
使用Java枚举可以帮助我们有效地组织常量,并将其用于多种场景,提高代码的易用性和可重用性。 如何使用Java枚举? 在Java中,定义枚举使用enum关键字,其基本语法结构如下: 其中,EnumName表示枚举类型的名称,...