`

未完 Java: enum 枚举

阅读更多
 
http://stackoverflow.com/questions/9850525/whats-the-use-of-enum-in-java
引用
An enum is an ordinary class with a predefined and enumerable set of instances.
So, if you know in advance (in compile-time) how many instances a class will have and if the instances are easily enumerable, then use an enum.


JLS 8.9. Enums:
http://docs.oracle.com/javase/specs/jls/se7/html/jls-8.html#jls-8.9
引用
The direct superclass of an enum type named E is Enum<E>
Java Tutorials - Enum Types:
http://docs.oracle.com/javase/tutorial/java/javaOO/enum.html
引用
All enums implicitly extend java.lang.Enum. Since Java does not support multiple inheritance, an enum cannot extend anything else.(但是可以 implements 接口)


将一个带参 enum 的参数值作为 Spring applicationContext.xml 中 util:map or util:set 的 elements:
http://stackoverflow.com/questions/14072314/inject-the-value-of-an-enum-into-a-property-using-spring
引用
enum 类:
public class EmailEntity {
    public enum EmailTags {

        SOME_THING("some thing"), //放入 util-set bean 中
        ANOTHER_THING("another thing"),
        YET_ANOTHER_THING("yet another thing"); //放入 util-set bean 中

        private final String value;

        private EmailTags(String value) { this.value = value; }

        public String getValue() { return value; }

    }
}
applicationContext.xml:
  <util:set id="enumValueSet" set-class="java.util.HashSet">
    <bean factory-bean="someThing" factory-method="getValue" />
    <bean factory-bean="yetAnotherThing" factory-method="getValue" />
  </util:set>

  <util:constant id="someThing" static-field="com.package.EmailEntity$EmailTags.SOME_THING" />
  <util:constant id="yetAnotherThing" static-field="com.package.EmailEntity$EmailTags.YET_ANOTHER_THING" />
使用 util-set bean:
@Service("xService")
public class XServiceImpl implements XService {
    @Resource
    private Set<String> enumValueSet;
}
util-set enumValueSet 中放入的是两个字符串:
some thing
yet another thing



A demo of with-value enum:
http://stackoverflow.com/questions/1080904/how-can-i-lookup-a-java-enum-from-its-string-value
public enum Day { 

    MONDAY("M"), TUESDAY("T"), WEDNESDAY("W"),
    THURSDAY("R"), FRIDAY("F"), SATURDAY("Sa"), SUNDAY("Su"), ;

    private final String abbreviation;

    // Reverse-lookup map for getting a day from an abbreviation
    private static final Map<String, Day> lookup = new HashMap<String, Day>();

    static {
        for (Day d : Day.values()) {
            lookup.put(d.getAbbreviation(), d);
        }
    }

    private Day(String abbreviation) {
        this.abbreviation = abbreviation;
    }

    public String getAbbreviation() {
        return abbreviation;
    }

    public static Day fromAbbreviation(String abbreviation) {
        return lookup.get(abbreviation);
    }
}



getNext & cyclic getNext in Java Enum:
http://digitaljoel.nerd-herders.com/2011/04/05/get-the-next-value-in-a-java-enum/


srcs:
java enum(枚举)使用详解 + 总结:
http://www.cnblogs.com/hemingwang0902/archive/2011/12/29/2306263.html
常量接口 vs 枚举常量类:
http://caerun.iteye.com/blog/458439
分享到:
评论

相关推荐

    Java SE程序 Enum枚举类

    Java SE程序 Enum枚举类Java SE程序 Enum枚举类Java SE程序 Enum枚举类Java SE程序 Enum枚举类Java SE程序 Enum枚举类Java SE程序 Enum枚举类Java SE程序 Enum枚举类Java SE程序 Enum枚举类Java SE程序 Enum枚举类...

    JAVA高级编程中Enum枚举

    在Java编程语言中,`Enum`(枚举)是一种特殊的类类型,用于定义固定的、预定义的常量集合。它们在程序设计中扮演着重要的角色,特别是在需要表示一组固定值时,如状态、颜色、星期等。本资源包提供了一些关于`Enum`...

    java enum 枚举 学习资料

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

    java中enum枚举的详细用法

    Java中的枚举(enum)类型是在JDK 1.5版本引入的一个强大的特性,它用于定义一组相关的常量。在C/C++等语言中,枚举通常用来表示一组具有固定值的常量集合,但在Java中,枚举不仅限于此,它提供了更多的功能和灵活性...

    JAVA:使用枚举

    在Java编程语言中,枚举是一种特殊的类类型,用于定义一组预定义的值。尽管Java在早期版本中并未直接支持枚举,但在Java 5及以后版本中引入了枚举类型,以满足开发者对于类型安全和高效代码的需求。以下是对枚举类型...

    java enum枚举教程学习资料

    Java枚举(enum)是Java语言提供的一种特殊的数据类型,用于定义一组有限的常量,这些常量在程序中作为固定的值使用。枚举在Java中是类的子类型,因此,它们具备类的一些特性,比如可以有方法、变量以及实现接口。...

    Java枚举类型Enum的用法

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

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

    在Java编程语言中,枚举(enum)是一种特殊的类,用于定义一组固定的常量。它在许多场景下比使用常量或int类型的硬编码值更安全、更具可读性。本篇文章将深入探讨Java枚举的特性、用法以及如何在实际开发中充分利用...

    javaenum(枚举)使用详解+总结.pdf

    Java中的枚举(enum)是自JDK 1.5版本引入的一种强大的类型,它用于定义一组相关的常量。枚举在Java中被设计为一种特殊的类,它们默认继承自`java.lang.Enum`抽象类,并且是单继承的,这意味着它们无法再继承其他类...

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

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

    Java中的Enum枚举用法.doc

    ### Java中的Enum枚举用法详解 #### 一、引言 在Java编程语言中,枚举(Enum)是一种特殊的数据类型,它被用来表示一组固定的常量集合。相比于使用常量接口或字符串来表示固定集合,枚举提供了更加安全且易于管理的...

    article-018-magic-enum:魔术枚举的示例代码

    std::cout &lt;&lt; magic_enum::enum_name(Color::Red) &lt;&lt; std::endl; // 输出 "Red" for (auto e : magic_enum::enum_values()) { std::cout (e) ; } // 输出 0 1 2 } ``` 上述代码展示了如何使用`enum_name`函数...

    enum枚举的方法

    enum枚举的方法

    java enum 枚举的spring boot2.x完美实现demo源码

    在Java编程语言中,枚举(`enum`)是一种强大的工具,它允许我们定义一组预定义的常量。在Spring Boot 2.x框架中,枚举的使用可以帮助我们更好地管理和组织代码,提供类型安全和可读性。本篇将深入探讨如何在Spring ...

    java简单的 enum枚举类介绍

    java简单的 enum枚举类介绍

    Java试题-1:交通灯枚举

    Java试题-1:交通灯枚举 典型的Java面试题 有关于枚举的应用及交通灯枚举的答案

    java枚举类型enum的使用

    ### Java 枚举类型 enum 的使用详解 #### 一、枚举类型概述 在 Java 中,枚举(enum)是一种特殊的类,它被用来表示一组固定的常量值。枚举类型自 JDK 1.5 开始引入,为开发者提供了一种更加安全、简洁的方式来...

    java中的枚举类型

    在 Java 中,我们可以使用 `enum` 关键词来定义枚举类型。枚举类型的定义方式类似于类别的定义,但是它只能包含常量。例如: ```java public enum Action { TURN_LEFT, TURN_RIGHT, SHOOT } ``` 在上面的示例中,...

    java 枚举(enum) 详解(学习资料)

    Java 枚举(enum)是 Java 语言中的一个重要特性,自 Java 5 开始引入。枚举用于定义一组相关的常量,这些常量通常代表一个有限的、预定义的值集合。枚举类是一种特殊的类,它具有以下特点: 1. **枚举类的声明**:...

Global site tag (gtag.js) - Google Analytics