`
zhouxianglh
  • 浏览: 268159 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Enum学习

    博客分类:
  • J2SE
 
阅读更多

关于枚举的使用参考:

http://helloyesyes.iteye.com/blog/1186575

很详细.不再造轮子了.以下内容补充.

 

 

public abstract class Enum<E extends Enum<E>>
extends Object
implements Comparable<E>, Serializable

 

 

1 关于单例.

 

public enum Elvis {
    INSTANCE {
        public void someMethod() {
            // . . .
        }
    };
    protected abstract void someMethod();
}

 在目前见过几种单例里面枚举算是最好的一种.

 

2 方法 ordinal()

public static void main(String[] args) {
        System.out.println(Elvis.INSTANCE.ordinal());
}

 所有枚举都有ordinal 方法,返回常量在类型中的数字位置.(用于EnumSet和EnumMap一般情况避免使用)

 

3 <<Effective java>> 中强调用  EnumSet代替int常量,用实例域代替序数,用EnumSet代服替位域,用EnumMap代替序数索引,用接口模拟可伸缩的枚举.

 

 

4 最近接触金蝶的EAS在里面也有枚举,但是有所不同如:

 

public class AppTempStateEnum extends StringEnum
{
    public static final String UNSUBMIT_VALUE = "1";

    public static final AppTempStateEnum unsubmit = new AppTempStateEnum("unsubmit", UNSUBMIT_VALUE);
   
    private AppTempStateEnum(String name, String appTempStateEnum)
    {
        super(name, appTempStateEnum);
    }
    
    
    public static AppTempStateEnum getEnum(String appTempStateEnum)
    {
        return (AppTempStateEnum)getEnum(AppTempStateEnum.class, appTempStateEnum);
    }

    public static Map getEnumMap()
    {
        return getEnumMap(AppTempStateEnum.class);
    }

    public static List getEnumList()
    {
         return getEnumList(AppTempStateEnum.class);
    }
    
    public static Iterator iterator()
    {
         return iterator(AppTempStateEnum.class);
    }
}

 中间并没有出现枚举,而是用静态常量的方式间接实现枚举.

 

 

 

 

 

 

承认自己的无知和错误需要勇气.勇敢是最美好的品德!!!

分享到:
评论

相关推荐

    TestEnum.zip_DEMO_enum学习

    在这个"TestEnum.zip_DEMO_enum学习"中,我们可以深入探讨C#中的枚举用法和相关知识点。 首先,枚举在C#中是用`enum`关键字定义的。它允许我们为整型值创建一个可读性更强的命名空间。例如: ```csharp enum Color...

    javaenum学习.pdf

    以下是对`javaenum学习.pdf`中提到的Java枚举相关知识点的详细说明: 1. **枚举元素定义**: - 枚举元素的列表必须写在枚举类的开头,元素之间用逗号分隔。如果元素列表后面没有其他内容,可以不加分号;如果有...

    java enum 枚举 学习资料

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

    Laravel开发-laravel-enum

    解压后,你可以查看源代码了解其具体实现方式,学习如何在自己的项目中应用和扩展这个库。通常,`tests`目录下的单元测试能帮助理解枚举类的用法和预期行为。 总之,`laravel-enum`是一个强大的工具,它将枚举概念...

    Java enum的用法详解

    在Java编程语言中,`enum`(枚举)是一种特殊的类,用于定义一组固定的常量。...在阅读《https://bijian1013.iteye.com/blog/2309669》这篇博客时,你可以深入学习更多关于Java `enum`的高级用法和技巧。

    PyPI 官网下载 | aenum-1.2.1.tar.gz

    **PyPI 官网下载 | aenum-1.2.1.tar.gz** 在Python编程语言中,`PyPI`(Python Package Index)是官方的软件仓库,它为开发者提供了存储...通过深入学习和使用`aenum`,可以显著提高Python项目的代码质量和可维护性。

    java enum枚举教程学习资料

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

    ATL 演示实例enum,collection,event,win

    通过学习和理解这些ATL实例,开发者可以提高在COM编程中的效率,减少错误,并更好地利用C++的模板机制。ATL不仅简化了COM组件的实现,还提供了对底层Win32 API的直接访问,使其成为Windows平台上构建高效轻量级组件...

    Java中的Enum的使用与分析

    通过本文的学习,我们了解了Java中枚举类型的基本概念、特点以及如何使用。枚举类型不仅提供了更清晰的代码可读性和可维护性,还确保了类型的安全性。在实际开发中,合理利用枚举类型能够有效提升代码质量和程序的...

    DNS-ENUM.rar_ENUM/DNS_dns _enum 域名解析

    实现一个DNS域名解析服务器,通常是为了学习、测试或创建自定义的DNS解决方案。一个简单的DNS服务器可能包括解析查询、缓存响应和转发请求等功能。通过这样的实现,用户可以更好地理解DNS工作原理,并可能定制自己...

    enum-v50.rar_enum_一卡通_校园一卡通

    【标题】"enum-v50.rar_enum_一卡通_校园一卡通" 提供的是一个关于校园一卡通系统与枚举(enum)应用的实例。枚举在编程中是一种特殊的类型,用于定义一组预定义的常量,这在处理固定选项如状态、角色或类型时非常...

    C++枚举类型enum与enum class的使用

    C++枚举类型enum与enum class的使用 以下是C++枚举类型enum与enum class...C++枚举类型enum与enum class的使用是非常重要的知识点,它们之间的区别和使用方法都需要我们认真学习和掌握,以便更好地应用于实际开发中。

    Struct、union、enum

    通过本文的学习,我们可以了解到C语言中结构体、联合和枚举的基本概念及其使用方法。这些数据类型为我们提供了更加灵活的方式来组织和管理数据,使得程序的设计更为简洁高效。掌握这些基础知识对于进一步学习高级...

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

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

    Enum Device

    在IT领域,枚举(Enum)是一个常见的编程概念,它涉及到对系统资源或特定对象集合的遍历和处理。在本例中,"Enum Device"指的是枚举...通过学习和实践这样的代码,开发者可以提升在系统级编程和硬件交互方面的能力。

    JAVA高级编程中Enum枚举

    本资源包提供了一些关于`Enum`枚举的深入学习材料,包括实例、常见问题以及相关的文档,非常适合Java开发者进行高级编程的学习和复习。 首先,枚举的基本语法是定义一个公共类,前面加上关键字`enum`。例如: ```...

    7enum枚举字函数程序案例VC共4页.pdf.zip

    5. **程序案例分析**: 分析这样的案例有助于学习者理解如何在实际项目中应用枚举函数,以及如何使用7enum工具进行系统枚举。这可能包括如何初始化枚举、遍历结果、处理每个枚举项以及如何与系统交互。 6. **安全...

    enum_display.zip_DEMO

    总的来说,这个示例项目提供了关于如何在软件中使用枚举处理显示模式的实践教程,对于学习编程、图形用户界面设计以及系统级编程的开发者来说,是一个很有价值的学习资源。通过研究和理解这个示例,开发者可以更好地...

    7enum和switch语句联合案例分析VC共6页.pdf

    总之,通过学习和实践`enum`和`switch`的联合使用,开发者可以编写出更加清晰、高效的代码,这对于任何编程项目,尤其是VC++项目,都是非常有价值的。这份6页的分析文档无疑是深入理解这两个概念并提升编程技能的...

    PyPI 官网下载 | aenum-2.0.6-py2-none-any.whl

    《PyPI上的Python库"aenum"详解》 在Python编程中,PyPI(Python Package Index)是官方的软件仓库,提供了海量的第三方模块...无论你是Python的新手还是经验丰富的开发者,"aenum"都是值得尝试和学习的一个优秀工具。

Global site tag (gtag.js) - Google Analytics