DK1.5引入了新的类型——枚举。在Java中它虽然算个“小”功能,却给我的开发带来了“大”方便。
用法一:常量
在JDK1.5之前,我们定义常量都是:publicstaticfianl....。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。
- publicenum Color {
- RED, GREEN, BLANK, YELLOW
- }
用法二:switch
JDK1.6之前的switch语句只支持int,char,enum类型,使用枚举,能让我们的代码可读性更强。
- enum Signal {
- GREEN, YELLOW, RED
- }
- publicclass TrafficLight {
- Signal color = Signal.RED;
- publicvoid change() {
- switch (color) {
- case RED:
- color = Signal.GREEN;
- break;
- case YELLOW:
- color = Signal.RED;
- break;
- case GREEN:
- color = Signal.YELLOW;
- break;
- }
- }
- }
用法三:向枚举中添加新方法
如果打算自定义自己的方法,那么必须在enum实例序列的最后添加一个分号。而且Java要求必须先定义enum实例。
- publicenum Color {
- RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4);
- // 成员变量
- private String name;
- privateint index;
- // 构造方法
- private Color(String name, int index) {
- this.name = name;
- this.index = index;
- }
- // 普通方法
- publicstatic String getName(int index) {
- for (Color c : Color.values()) {
- if (c.getIndex() == index) {
- return c.name;
- }
- }
- returnnull;
- }
- // get set 方法
- public String getName() {
- return name;
- }
- publicvoid setName(String name) {
- this.name = name;
- }
- publicint getIndex() {
- return index;
- }
- publicvoid setIndex(int index) {
- this.index = index;
- }
- }
用法四:覆盖枚举的方法
下面给出一个toString()方法覆盖的例子。
- publicenum Color {
- RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4);
- // 成员变量
- private String name;
- privateint index;
- // 构造方法
- private Color(String name, int index) {
- this.name = name;
- this.index = index;
- }
- //覆盖方法
- @Override
- public String toString() {
- returnthis.index+"_"+this.name;
- }
- }
用法五:实现接口
所有的枚举都继承自java.lang.Enum类。由于Java不支持多继承,所以枚举对象不能再继承其他类。
- publicinterface Behaviour {
- void print();
- String getInfo();
- }
- publicenum Color implements Behaviour{
- RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4);
- // 成员变量
- private String name;
- privateint index;
- // 构造方法
- private Color(String name, int index) {
- this.name = name;
- this.index = index;
- }
- //接口方法
- @Override
- public String getInfo() {
- returnthis.name;
- }
- //接口方法
- @Override
- publicvoid print() {
- System.out.println(this.index+":"+this.name);
- }
- }
用法六:使用接口组织枚举
- publicinterface Food {
- enum Coffee implements Food{
- BLACK_COFFEE,DECAF_COFFEE,LATTE,CAPPUCCINO
- }
- enum Dessert implements Food{
- FRUIT, CAKE, GELATO
- }
- }
用法七:关于枚举集合的使用
java.util.EnumSet和java.util.EnumMap是两个枚举集合。EnumSet保证集合中的元素不重复;EnumMap中的key是enum类型,而value则可以是任意类型。关于这个两个集合的使用就不在这里赘述,可以参考JDK文档。
相关推荐
总结来说,Java枚举提供了一种安全、可读的方式来处理一组预定义的常量。通过枚举,我们可以避免硬编码常量,减少错误,提高代码的可维护性。在实际开发中,枚举常用于定义状态、角色、类型等固定集合的场景。通过...
Java枚举类型是Java语言中一种特殊的类,用于定义固定的常量集合,它提供了一种安全、类型化的方式来表示一组有限的值。枚举在Java中被引入为一个完整的类型,不同于C++中的枚举,这使得Java枚举更加强大且易于使用...
总结来说,Java枚举类型提供了一种安全、类型安全的方式来定义和使用常量,它可以拥有构造器、方法和字段,并能与switch语句、序列化、反射等Java特性很好地结合。理解并熟练使用枚举,能够使代码更加清晰、易读,...
### Java枚举类型详解 ...Java枚举类型是一种强大且灵活的工具,它不仅提高了代码的可读性和可维护性,还增强了类型安全性。通过理解和利用枚举类型的特性,开发者可以编写出更加健壮和高效的程序。
如有侵权请联系删除,欢迎批评指正 java枚举,起初在网上抄了一部分,然后自己加了点示例,做一个记录,也算是为以后留个备份,技术小白一个,还在努力成长
总结,Java枚举类型是一种强大的工具,可以用于表示固定数量的常量。它们提供了一种安全、类型化的方式,避免了硬编码常量,增加了代码的可读性和可维护性。通过构造函数、方法、接口实现等特性,枚举可以适应各种...
### Java 枚举类总结 #### 一、概述与基本概念 枚举类型(`enum`)是Java中的一种特殊类,它允许开发者定义一组命名的常量,并将其视为一个独立的类型。从JDK 1.5版本开始,Java引入了枚举类型,它提供了一种更加...
Java枚举提供了一种强大的方式来定义和管理一组相关的常量。它们不仅可以存储数据,还可以包含方法,实现接口,甚至使用构造器进行初始化。枚举的这些特性使其在设计模式、数据模型、状态机等多种场景中都有广泛应用...
总结起来,Java枚举类型是一个强大的工具,它可以替代`static final`常量来表示一组固定的值,提供类型安全、易于维护的代码。通过枚举,我们可以更方便地管理常量,减少错误,并增加代码的灵活性。枚举是Java中一个...
在Java编程语言中,枚举(Enum)作为一种特殊的类,其设计初衷是为了更好地处理一组固定不变的常量集合。相较于传统的使用`static final`字段来表示常量的做法,枚举提供了更加丰富的特性和更为严谨的类型安全机制。...
Java枚举可以实现接口,也可以拥有字段和方法,因此可以用来创建复杂的枚举集。例如,可以定义一个表示星期几的枚举,并为每个枚举值添加额外的属性或行为: ```java public enum DayOfWeek implements Comparable...
总结起来,Java枚举类型提供了丰富的功能,包括但不限于定义常量、属性、方法,以及实现抽象方法。这种类型使得代码更加规范,提高了代码的可读性和可维护性,减少了错误的可能性。在处理一组固定不变的值时,使用...
Java枚举远不止简单的枚举常量集合,它提供了一种类型安全、易于理解和使用的方式来表示有限的、固定的值集合。通过深入理解枚举的内部机制和高级特性,我们可以编写出更加优雅、高效和易于维护的代码。因此,对枚举...
下面是Java枚举的七种常见用法的详细说明: 1. 常量用法: 在Java中,枚举可以用于组织一组相关的常量。在JDK 1.5之前,我们通常使用`public static final`关键字来定义常量,但这种方式不够灵活。枚举提供了一种...
总结来说,Java 枚举提供了一种强类型、安全且易于使用的机制,用于表示一组固定数量的值。它简化了代码,提高了程序的可读性和可维护性,同时也避免了传统的常量类或单例模式的一些潜在问题。通过深入理解和灵活...
总结来说,Java的枚举提供了一种安全的方式来定义和管理一组相关的常量,便于遍历和操作。Properties类则用于处理键值对数据,常用于配置文件的读取和写入。类加载器则帮助我们找到并加载类及其相关的资源,如...
关于java枚举的总结: 从入门介绍到项目使用的实际经验归纳总结得出! 从jdk5到jdk8!
总结来说,Java枚举类型是int枚举模式和String枚举模式的完美替代品。它不仅提供了更为严格和清晰的类型安全特性,还极大地提升了代码的可读性和易用性。在现代Java应用中,枚举类型被广泛用于替代旧有的枚举模拟...
在Java编程中,枚举类型(Enum)是一种强大的工具,用于定义一组固定的常量。它在许多场景下比使用字符串或整数常量更安全、更易于管理。然而,在实际开发中,我们经常需要将枚举值反向映射到实体类的属性上,以便在...