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

enum使用一例

 
阅读更多
/**
 * User: renjunjie
 * Date: 13-6-25 下午4:43
 * Function:
 */
public class AppContants {
    //政府机构
    //public static final Integer ORG_GOVERN = 1;
    //节能公司
    //public static final Integer ORG_ENERGY = 2;
    //耗能单位
    //public static final Integer ORG_UNIT = 3;

    public static enum ORG_TYPE { ORG_GOVERN("1"), ORG_ENERGY("2"), ORG_UNIT("3");

        private String value;
        private ORG_TYPE(String value){
            this.value = value;
        }
        private String getValue(){
            return value;
        }
        public static ORG_TYPE getByName(String name){
            for(ORG_TYPE prop : values()){
                if(prop.getValue().equals(name)){
                    return prop;
                }
            }
            throw new IllegalArgumentException(name + " is not a valid PropName");
        }
    };

    
    public static final String ZR_NAME = "zr";

    public static final Integer NODE_TYPE_DEVICE = 1;
    public static final Integer NODE_TYPE_GOVERN = 2;
    public static final Integer NODE_TYPE_ENERGY = 3;
    public static final Integer NODE_TYPE_UNIT = 4;

    /**
     * 通过组织机构类型获取树形机构节点类型
     * @param orgType
     * @return
     * @throws com.rixing.energysaving.exception.ServiceException
     */
    public static int getNodeTypeOfOrgType(String orgType) throws ServiceException {
        int result = -1;

        ORG_TYPE t = ORG_TYPE.getByName(orgType);
        switch (t) {
            case ORG_GOVERN :
                result = AppContants.NODE_TYPE_GOVERN;
                break;
            case ORG_ENERGY:
                result = AppContants.NODE_TYPE_ENERGY;
                break;
            case ORG_UNIT :
                result = AppContants.NODE_TYPE_UNIT;
                break;
        }
        if(result == -1) {
            throw new ServiceException("组织机构类型orgtype错误");
        }


        return result;
    }


}

 java switch使用enum好像只能在一个类里面

分享到:
评论

相关推荐

    Java中怎样由枚举常量的ordinal值获得枚举常量对象

     在本例中,对于Season.SPRING这个对象,Season.SPRING.name()能够得到该对象的字符串,即“SPRING”;反之,由Season.valueOf(“SPRING”)则能够得到该对象,即Season.SPRING。也是说,使用name()方法和valueOf...

    C语言 枚举类型(Enum)详解及示例代码

    以每周七天为例,我们可以使用#define命令来给每天指定一个名字: #include #define Mon 1 #define Tues 2 #define Wed 3 #define Thurs 4 #define Fri 5 #define Sat 6 #define Sun 7 int main(){ int day; ...

    born:使用功能宏从 Struct 和 Enum 中删除代码重复

    当您想为结构重复使用相同的字段时使用它,如下例所示。 use born :: { nested_macro, public_struct, }; public_struct! ( pub struct UserBase { username: String , email: String , full_name: Option ...

    Effective_C++_笔记

    通常C++要求你对所使用的任何东西提供一个定义式,但如果它是个class专属常量 又是static且为整数类型(integral type,例如int,char,bool),则可特殊处理。只要不取它们 的地址,你可以声明并使用它们而无需提供...

    枚举的用法详细总结

    1、枚举enum的用途浅例写程序时,我们常常需要为某个对象关联一组可选alternative属性.例如,学生的成绩分A,B,C,D等,天气分sunny, cloudy, rainy等等。更常见的,打开一个文件可能有三种状态:input, output和...

    c语言程序设计标准教程

    请再看一例! main(){ char a='a',b='b'; int p,c,d; p=a; p=(p)|b; d=p&0xff; c=(p&0xff00)>>8; printf("a=%d\nb=%d\nc=%d\nd=%d\n",a,b,c,d); } 位域 有些信息在存储时,并不需要占用一个完整的字节, 而只需占几...

    MySQL性能优化的21个最佳实践.pdf

    5. 在 Join 表的时候使用相当类型的例,并将其索引 6. 千万不要 ORDER BY RAND() 7. 避免 SELECT * 8. 永远为每张表设置一个 ID 9. 使用 ENUM 而不是 VARCHAR 10. 从 PROCEDURE ANALYSE() 取得建议 ......等等

    (谭浩强)c语言学习书

    由于C语言的强大功能和各方面的优点逐渐为人们认识,到了八十年代,C开始进入其它操作系统,并很快在各类大、中、小和微型计算机上得到了广泛的使用,成为当代最优秀的程序设计语言之一。 1.3 C语言版本 目前最...

    SwiftPlantUML:命令行工具和Swift软件包,用于生成由PlantUML驱动的类图

    使用一个或多个Swift文件作为图表的输入,以可视化class , struct , protocol , enum和extension类型及其实例和静态成员,以及它们的继承和实现关系 目录(单击以展开)从源安装注意:使用多个Swift版本配置选项...

    NGXSTutorial:Angular NGXS教程(以Scratch为例)是当今的热门话题。 我们已经在此博客中介绍了Angular NgRx存储模式,现在是时候替代该名为Angular NGXS的库了。 Ngxs是角度状态管理的另一种方法

    您还可以使用ng generate directive|pipe|service|class|guard|interface|enum|module 。 建造 运行ng build来构建项目。 构建工件将存储在dist/目录中。 使用--prod标志进行生产构建。 运行单元测试 运行ng test以...

    语言程序设计课后习题答案

    另一种方法是使用"//",从"//"开始,直到它所在行的行尾,所有字符都被作为注释处理。 2-8 什么叫做表达式?x = 5 + 7是一个表达式吗?它的值是多少? 解: 任何一个用于计算值的公式都可称为表达式。x = 5 + 7是一...

    angular-infinite-scroll

    角度版本: : 也使用: : 以简单的视口为例。 最后,不要将它用于复杂的列表项,尽管它适用于性能良好的简单用例。 Material-UI 有一个视口组件用于更复杂的目的。 注意:需要调整阈值和去抖动(检查以适用于所需...

    vc++ 开发实例源码包

    另外有只打开一个应用程序、CRichEdit的使用、最小到托盘、自动检测在线用户(多播组)等。 FreeBird2011Dlg.h 主对话框类头文件 MultiGroup.h 多播组类头文件 UserLink.h 用户链表类头文件 ListenSocket.h 侦听接口...

    VC动态生成菜单项的实现方法

    本例所述为使用VC编写的一个可以动态生成菜单项的类文件,这里展示的是其核心代码,代码备有比较详细的注释,相对而言理解起来并不复杂。 主要功能代码如下: #include stdafx.h #include Test.h #include TestDlg....

    isvalid:适用于Node.js和浏览器的异步JavaScript验证库

    它使用了一个非常简单的模式模型-受启发。 表中的内容 default 静态值 异步功能 同步功能 required 隐式要求 allowNull equal errors (自定义错误消息) 错误快捷键 类型特定的验证器 Object和Array共有的验证...

    生锈:用于Rust的mruby安全绑定

    生锈的Rust的mruby安全绑定 令人沮丧的让您: 使用受严格限制的API运行Ruby 1.9文件(无需安装Ruby) 在mruby中反映Rust struct和enum并运行它们它以安全,整洁的方式完成所有这些工作,同时还将规格测试和REPL引入...

    vc++ 应用源码包_1

    另外有只打开一个应用程序、CRichEdit的使用、最小到托盘、自动检测在线用户(多播组)等。 freeeim_FreeEIM_企业即时通讯软件源代码2010年8月份最新版 FTP、HTTP 多线程断点续传下载文件 源码 gdiplus应用实例 ...

    vc++ 应用源码包_2

    另外有只打开一个应用程序、CRichEdit的使用、最小到托盘、自动检测在线用户(多播组)等。 freeeim_FreeEIM_企业即时通讯软件源代码2010年8月份最新版 FTP、HTTP 多线程断点续传下载文件 源码 gdiplus应用实例 ...

    vc++ 应用源码包_6

    另外有只打开一个应用程序、CRichEdit的使用、最小到托盘、自动检测在线用户(多播组)等。 freeeim_FreeEIM_企业即时通讯软件源代码2010年8月份最新版 FTP、HTTP 多线程断点续传下载文件 源码 gdiplus应用实例 ...

Global site tag (gtag.js) - Google Analytics