`
chenzehe
  • 浏览: 538164 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Java 枚举使用实例

 
阅读更多

Lucene Field类中使用枚举如下:

声明抽象方法,在枚举实例中重写该方法。

public final class Field extends AbstractField implements Fieldable, Serializable {  
  public static enum Store {
    YES {
      @Override
      public boolean isStored() { return true; }
    },
    NO {
      @Override
      public boolean isStored() { return false; }
    };
    public abstract boolean isStored();
  }

  public static enum Index {
    NO {
      @Override
      public boolean isIndexed()  { return false; }
      @Override
      public boolean isAnalyzed() { return false; }
      @Override
      public boolean omitNorms()  { return true;  }   
    },
    ANALYZED {
      @Override
      public boolean isIndexed()  { return true;  }
      @Override
      public boolean isAnalyzed() { return true;  }
      @Override
      public boolean omitNorms()  { return false; }   	
    },
    NOT_ANALYZED {
      @Override
      public boolean isIndexed()  { return true;  }
      @Override
      public boolean isAnalyzed() { return false; }
      @Override
      public boolean omitNorms()  { return false; }   	
    },
    NOT_ANALYZED_NO_NORMS {
      @Override
      public boolean isIndexed()  { return true;  }
      @Override
      public boolean isAnalyzed() { return false; }
      @Override
      public boolean omitNorms()  { return true;  }   	
    },
    ANALYZED_NO_NORMS {
      @Override
      public boolean isIndexed()  { return true;  }
      @Override
      public boolean isAnalyzed() { return true;  }
      @Override
      public boolean omitNorms()  { return true;  }   	
    };
    public static Index toIndex(boolean indexed, boolean analyzed) {
      return toIndex(indexed, analyzed, false);
    }
    public static Index toIndex(boolean indexed, boolean analyzed, boolean omitNorms) {
      if (!indexed) {
        return Index.NO;
      }
      if (!omitNorms) {
        if (analyzed) {
          return Index.ANALYZED;
        }
        return Index.NOT_ANALYZED;
      }
      if (analyzed) {
        return Index.ANALYZED_NO_NORMS;
      }
      return Index.NOT_ANALYZED_NO_NORMS;
    }

    public abstract boolean isIndexed();
    public abstract boolean isAnalyzed();
    public abstract boolean omitNorms();  	
  }
  ......
}

 

 hadoop IPC中的Status:

package org.apache.hadoop.ipc;

/**
 * Status of a Hadoop IPC call.
 */
enum Status {
  SUCCESS (0),
  ERROR (1),
  FATAL (-1);
  
  int state;
  private Status(int state) {
    this.state = state;
  }
}

 

 

分享到:
评论

相关推荐

    java枚举实例代码

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

    Java枚举类型Enum的用法

    接下来,我们将深入探讨Java枚举类型的使用方法及其相关知识点。 1. **枚举的声明与初始化** 枚举类型的声明方式类似于类,但以`enum`关键字开头。例如: ```java enum Color { RED, GREEN, BLUE } ``` 这里...

    java枚举的一个实例

    总的来说,Java枚举提供了一种强类型、安全且易于使用的机制来表示固定集合的值。通过枚举,我们可以更好地组织代码,减少错误,并提升程序的可维护性。在JavaDemo项目中,可能包含了各种使用枚举的示例,包括但不...

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

    4. **通过名称获取枚举实例**:如果已知枚举的名称,可以使用`valueOf()`方法获取对应的枚举实例。 ```java Color colorFromName = colorClass.valueOf("RED"); // 获取到RED枚举实例 ``` 5. **枚举的构造函数**:...

    java枚举类型说明

    下面通过一个具体的例子来说明如何使用Java枚举类型: ```java public enum Grade { A, B, C, D, F, INCOMPLETE; public String getDescription() { switch (this) { case A: return "优秀"; case B: ...

    简单总结java枚举类型

    枚举在Java中被引入为一个完整的类型,不同于C++中的枚举,这使得Java枚举更加强大且易于使用。以下是关于Java枚举类型的详细解释和相关知识点: 1. 定义枚举: 在Java中,枚举通过关键字`enum`来定义。例如,创建...

    JAVA的枚举实例以及应用

    JAVA的枚举实例以及应用

    java枚举状态机

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

    java枚举类用法

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

    Java面试枚举从使用到原理

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

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

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

    理解java枚举类型

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

    java枚举ppt和详细代码

    Java枚举可以方便地与集合框架一起使用。枚举类可以继承`EnumSet`或`EnumMap`,这两个类提供了针对枚举的优化操作。例如: ```java EnumSet<Color> colors = EnumSet.allOf(Color.class); ``` 通过学习上述知识...

    java枚举的一个例子

    ### Java枚举详解 在Java编程语言中,枚举(`enum`)是一种特殊的类,用于定义一组固定的常量值。这些常量值通常代表了一组预定义的选项或者状态,比如颜色、方向等。使用枚举可以提高代码的可读性和可维护性,并且...

    Java枚举类型.pdf

    在本文中,我们将深入探讨Java枚举的定义、使用方法以及它如何改善传统使用`static final`常量的模式。 首先,让我们看看传统的`static final`常量表示枚举的方式。例如,清单1展示了如何使用`public static final`...

    列举java 枚举相关信息

    ### Java 枚举类型详解 #### 一、引言 ...通过以上的介绍,我们可以看到Java枚举类型不仅提供了类型安全的保障,还为开发者带来了极大的灵活性。合理地使用枚举类型,可以显著提高代码的质量和可维护性。

    JAVA枚举JAVA枚举.doc

    2. **自动实现 Comparable 和 Enum**:每个枚举类型都默认继承了 `java.lang.Enum` 类,因此枚举实例自动实现了 `Comparable` 接口,可以直接比较枚举值的顺序。 3. **枚举集合**:可以通过 `values()` 方法获取...

    java枚举类的属性、方法和构造方法应用实战

    本文将详细介绍 Java 枚举类的属性、方法和构造方法应用实战,结合实例形式分析了 Java 枚举类的定义、构造及相关应用操作技巧。 枚举类的属性 在 Java 中,枚举类是一种特殊的类,它可以拥有自己的属性。枚举类的...

    java枚举使用详细介绍及实现

    Java 枚举使用详细介绍及实现 Java 枚举是 Java 语言中的一种特殊类型,它可以被用于定义一组固定的常量,在实际编程中,枚举常用于定义一组有限的数据集,例如星期一到星期日七个数据元素组成了 一周的“数据集”...

    Java目录直读:枚举文件夹下的所有文件.rar

    Java枚举目录下的所有文件,列出文件名,是一个Java目录直读程序的例子,代码中定义了一个showDirContent方法,该方法实现取得目录内容,用路径实例化一个文件对象,重点:取得目录内所有文件列表,实例化一个...

Global site tag (gtag.js) - Google Analytics