`

java里的枚举

 
阅读更多
参考: http://www.ibm.com/developerworks/cn/java/j-enums.html
http://www.ibm.com/developerworks/cn/java/j-tiger04195/index.html

可以为枚举添加方法,用它们实现接口,定义叫作 特定值的类的实体,在该实体中,特定的代码被附加到枚举的具体值上.

这种方式可以用的场景是:
a. 我们提供一个接口
b. 为接口提供了不同的默认实现, 且认为这些默认实现在大部分情况下可满足实现.
c. 为了方便调用,或者看起来更加的直观, 我们用枚举类型, 给一个很形像的名称.
d. 同时在客户端调用时, 我们用的只是接口.

以下代码做为示例, 这里的代码来自于gson库
public enum FieldNamingPolicy implements FieldNamingStrategy {

  
  IDENTITY() {
    public String translateName(Field f) {
      return f.getName();
    }
  },

  
  UPPER_CAMEL_CASE() {
    public String translateName(Field f) {
      return upperCaseFirstLetter(f.getName());
    }
  },

 
  UPPER_CAMEL_CASE_WITH_SPACES() {
    public String translateName(Field f) {
      return upperCaseFirstLetter(separateCamelCase(f.getName(), " "));
    }
  },

  
  LOWER_CASE_WITH_UNDERSCORES() {
    public String translateName(Field f) {
      return separateCamelCase(f.getName(), "_").toLowerCase();
    }
  },

  
  LOWER_CASE_WITH_DASHES() {
    public String translateName(Field f) {
      return separateCamelCase(f.getName(), "-").toLowerCase();
    }
  };
}

public interface FieldNamingStrategy {
  public String translateName(Field f);
}


客户端调用:
public GsonBuilder setFieldNamingStrategy(FieldNamingStrategy fieldNamingStrategy) {
    this.fieldNamingPolicy = fieldNamingStrategy;
    return this;
}


请注意这里都是对 FieldNamingStrategy接口的调用.

将枚举类型的每个元素作为一个子类对待的领域
分享到:
评论

相关推荐

    java枚举实例代码

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

    java enum 枚举 学习资料

    "Java Enum 枚举学习资料" Java Enum 枚举学习资料是 Java 编程语言中的一种特殊类型,它主要用来实现一组固定的常量。 Enum 枚举类型是 Java 5 中引入的一种新特性,旨在解决传统的 int 枚举常量的缺陷。 1. 枚举...

    java 通过反射获取枚举类,及枚举类的值,枚举类枚举实例名

    枚举(Enumeration)是Java中的一个特殊类类型,用于定义一组常量。本项目"test-enum-demo-master"显然是一个用于演示如何通过反射来操作枚举类的示例。 首先,让我们理解枚举类的基本概念。枚举类在Java中用于定义...

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

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

    Java面试枚举从使用到原理

    本篇文章将深入探讨Java枚举的使用及其背后的原理。 一、枚举的定义与使用 1. 基本用法: 在Java中,枚举可以通过`enum`关键字来创建。例如,我们可以定义一个表示一周七天的枚举类型: ```java public enum ...

    Java枚举类型Enum的用法

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

    说说Java中的枚举 转 可以了,够了 包括EnumSet(Map)

    这篇博客将深入探讨Java枚举的特性和使用方法,包括`EnumSet`和`EnumMap`这两个与枚举相关的数据结构。 首先,枚举定义的基本语法是`public enum EnumName {constant1, constant2, ...}`。每个枚举常量都是`...

    java枚举ppt和详细代码

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

    简单总结java枚举类型

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

    java枚举类型说明

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

    JAVA的枚举实例以及应用

    JAVA的枚举实例以及应用

    java枚举状态机

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

    java中枚举的使用

    在Java编程语言中,枚举(Enumeration)是一种特殊的类,用于定义一组固定的常量。它在JDK 1.5及以后的版本中被引入,为开发者提供了更安全、更面向对象的方式来处理常量集合。枚举在Java中的使用不仅提高了代码的...

    java枚举类用法

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

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

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

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

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

    理解java枚举类型

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

    Java源码查看枚举类型定义.rar

    本资源"Java源码查看枚举类型定义.rar"包含了关于Java枚举类型的详细解释和实例,旨在帮助开发者深入理解这一特性。 首先,枚举类型在Java中通过关键字`enum`声明。例如: ```java public enum Color { RED, ...

    Java高新技术_java5的枚举的基本应用

    Java枚举可以实现接口,也可以拥有字段和方法,因此可以用来创建复杂的枚举集。例如,可以定义一个表示星期几的枚举,并为每个枚举值添加额外的属性或行为: ```java public enum DayOfWeek implements Comparable...

    Java中的“枚举类型

    ### Java中的“枚举类型”知识点详解 #### 一、引言 在Java编程语言中,枚举(Enum)作为一种特殊的类,其设计初衷是为了更好地处理一组固定不变的常量集合。相较于传统的使用`static final`字段来表示常量的做法...

Global site tag (gtag.js) - Google Analytics