- 浏览: 277454 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
北方狼:
请问,当表格列数过多时,除了调整pdf页面宽度,能否设置分页显 ...
利用itext操作pdf从数据库导出大量数据--功能汇总(一) -
15817048604:
.....................
利用itext操作pdf从数据库导出大量数据--添加水印(四) -
laoma102:
顶个,谢楼主
代理模式,JDK动态代理,SpringAOP来龙去脉 -
穷途末路:
给力,谢谢分享
Excel2003和Excel2007对下拉选择和下拉级联选择的操作以及java程序的调用 -
weir2009:
复杂的交叉表crosstab 怎么处理?
利用itext操作pdf从数据库导出大量数据--功能汇总(一)
1.java枚举值解决类型安全的问题,范围问题,能获取一组值的集合,这些是public static final常量不能做到的
2.可以创建一个enum类,把它看做一个普通的类。除了它不能继承其他类了。(java是单继承,它已经继承了Enum),
可以添加其他方法,覆盖它本身的方法
3.switch()参数可以使用enum了
4.values()方法是编译器插入到enum定义中的static方法,所以,当你将enum实例向上转型为父类Enum是,values() 就不可访问了。解决办法:在Class中有一个getEnumConstants()方法,所以即便Enum接口中没有values()方法,我们仍然可以通过Class对象取得所有的enum实例
5.无法从enum继承子类,如果需要扩展enum中的元素,在一个接口的内部,创建实现该接口的枚举,以此将元素进行分组。达到将枚举元素进行分组。
6.使用EnumSet代替标志。enum要求其成员都是唯一的,但是enum中不能删除添加元素。
7.EnumMap的key是enum,value是任何其他Object对象。
8.enum允许程序员为eunm实例编写方法。所以可以为每个enum实例赋予各自不同的行为。
9.使用enum的职责链(Chain of Responsibility) .这个关系到设计模式的职责链模式。以多种不同的方法来解决一个问题。然后将他们链接在一起。当一个请求到来时,遍历这个链,直到链中的某个解决方案能够处理该请求。
10.使用enum的状态机
11.使用enum多路分发
这里举例说明
2.可以创建一个enum类,把它看做一个普通的类。除了它不能继承其他类了。(java是单继承,它已经继承了Enum),
可以添加其他方法,覆盖它本身的方法
3.switch()参数可以使用enum了
4.values()方法是编译器插入到enum定义中的static方法,所以,当你将enum实例向上转型为父类Enum是,values() 就不可访问了。解决办法:在Class中有一个getEnumConstants()方法,所以即便Enum接口中没有values()方法,我们仍然可以通过Class对象取得所有的enum实例
5.无法从enum继承子类,如果需要扩展enum中的元素,在一个接口的内部,创建实现该接口的枚举,以此将元素进行分组。达到将枚举元素进行分组。
6.使用EnumSet代替标志。enum要求其成员都是唯一的,但是enum中不能删除添加元素。
7.EnumMap的key是enum,value是任何其他Object对象。
8.enum允许程序员为eunm实例编写方法。所以可以为每个enum实例赋予各自不同的行为。
9.使用enum的职责链(Chain of Responsibility) .这个关系到设计模式的职责链模式。以多种不同的方法来解决一个问题。然后将他们链接在一起。当一个请求到来时,遍历这个链,直到链中的某个解决方案能够处理该请求。
10.使用enum的状态机
11.使用enum多路分发
这里举例说明
package com.fruitking.cms.autoflow; public class CmsConstants { public enum TaskDefineState { ON("1","启动"), OFF("0","关闭"); private String flag; private String name; private TaskDefineState(String flag,String name){ this.flag = flag; this.name = name; } public String getFlag() { return flag; } public void setFlag(String flag) { this.flag = flag; } public String getName() { return name; } public void setName(String name) { this.name = name; } }; public enum TaskExecuteState { ON("1","未执行"), OFF("0","已执行"); private String flag; private String name; private TaskExecuteState(String flag,String name){ this.flag = flag; this.name = name; } public String getFlag() { return flag; } public void setFlag(String flag) { this.flag = flag; } public String getName() { return name; } public void setName(String name) { this.name = name; } }; }
package com.fruitking.cms.autoflow; import java.util.EnumMap; import java.util.EnumSet; import com.fruitking.cms.autoflow.CmsConstants.TaskDefineState; import com.fruitking.cms.autoflow.CmsConstants.TaskExecuteState; public class TestEnum { //测试函数 public static void main(String[] args) { //直接变量enum for (TaskDefineState s : TaskDefineState.values()) System.out.println(s.name()); //switch与enum的结合使用 TaskDefineState switchStated = TaskDefineState.OFF; switch (switchStated) { case OFF: System.out.println("select OFF"); break; case ON: System.out.println("select ON"); break; } //EnumSet的使用 EnumSet<TaskDefineState> stateSetd = EnumSet.allOf(TaskDefineState.class); for (TaskDefineState s : stateSetd) { System.out.println(s); } //EnumMap的使用 EnumMap stateMapd = new EnumMap( TaskDefineState.class); stateMapd.put(TaskDefineState.ON, "is On"); stateMapd.put(TaskDefineState.OFF, "is off"); for (TaskDefineState s : TaskDefineState.values()) { System.out.println(s.name() + ":" + stateMapd.get(s)); } System.out.println("---------------------------------------------------"); //直接变量enum for (TaskExecuteState s : TaskExecuteState.values()) System.out.println(s.getFlag()+":"+s.getName()); //switch与enum的结合使用 TaskExecuteState switchStatee = TaskExecuteState.OFF; switch (switchStatee) { case OFF: System.out.println("select OFF"); break; case ON: System.out.println("select ON"); break; } //EnumSet的使用 EnumSet<TaskExecuteState> stateSete = EnumSet.allOf(TaskExecuteState.class); for (TaskExecuteState s : stateSete) { System.out.println(s); } //EnumMap的使用 EnumMap stateMape = new EnumMap( TaskExecuteState.class); stateMape.put(TaskExecuteState.ON, "is On"); stateMape.put(TaskExecuteState.OFF, "is off"); for (TaskExecuteState s : TaskExecuteState.values()) { System.out.println(s.name() + ":" + stateMape.get(s)); } } }
发表评论
-
电话号码压缩方法
2013-03-09 23:31 1569/** * 电话号码采用62进制压缩方法工具 ... -
jquerytree树结构实例
2011-05-18 09:19 1586上传一个jquerytree的实例 下面做些讲解 jquery ... -
js对象的定义以及在弹出窗口中的返回值应用
2011-05-16 16:57 1873弹出窗口及返回值的js代码 function searc ... -
存储设备的接口分类
2011-01-07 23:29 1420存储设备的接口有五大类 IDE、SCSI、USB,并行口,串口 ... -
VBA脚本语言测试Excel宏定义处理文件拷贝
2010-11-29 13:54 2926'指定文件目录复制工具(可用户基于svn版本管理的项目做增 ... -
Excel2003和Excel2007对下拉选择和下拉级联选择的操作以及java程序的调用
2010-11-15 16:23 5914Excel2007和Excel2003的部分功能菜单有所调整 ... -
深入探索 高效的Java异常处理框架
2010-11-11 09:07 1267突然想起应用中异常处理问题,以前很少应用这块知识,或者说应用得 ... -
oracle数据库备份恢复和svn备份恢复
2010-08-09 14:07 1364目录 2010-08-06系统重装 1 一、 检查当前操作系统 ... -
url中文乱码,分页中乱码,textarea回车符回写
2010-04-14 10:51 2844url传输乱码的解决方式 这里不针对在web服务器设置编码(考 ... -
myeclips下的jvm内存设计问题
2009-12-22 11:06 1033在myeclipse的window菜单-》preference ... -
struts2 井号,星号,百分号的含义和使用举例
2009-11-18 15:03 3147struts2 OGNL,struts2 表达 ... -
字符串连接,但需要去掉重复部分
2009-11-06 17:26 1316比如有两个字符串,上海虹桥、虹桥国际机场,连接起来为上海虹桥国 ... -
oracle存储过程学习过程
2009-09-30 16:58 1999一直没有使用过存储过程 今天特意学习一下oracle的存储过程 ... -
正则表达式实例
2009-09-23 15:32 1156var chineseNameReg = /^[\u4E00- ... -
文本框默认输入灰色显示,点击后用层显示提示信息
2009-09-21 17:16 3172<html> <head> <t ... -
socket模拟http中post或者get提交数据,并获得响应数据
2009-08-31 10:37 8142首先建立一个web工程 准备连个jsp文件试试正常的流程 ... -
基于ssl双向认证的详细例子
2009-08-27 17:27 2078产生服务端证书库 keytool -genkey -alias ... -
Web Services的基本原理
2009-08-05 16:34 1019摘要:本文介绍了Web Services的起源和基本原理,分析 ... -
摘抄:jvm的内存介绍和举例
2009-08-01 11:20 11444.2 容易被搞晕的--堆和栈 由于"堆" ... -
摘抄:ejb的概念和原理解说
2009-08-01 11:06 1300转自《java程序员 编程 ...
相关推荐
java枚举结果类、根据状态值获取枚举值 Controller: /** 模块类型枚举 */ model.addAttribute("mType", ModuleTypeEnum.ModuleTypeShow()); ftl: value="${mType.key}:${mType.value}” </#list>
简单总结java枚举类型,适合java初学者
枚举的简单的介绍 枚举的作用 1.枚举可以实现一个或多个接口 2.可以定义新的变量 3.可以定义新的方法 4.可以定义根据具体枚举值而相异的类
java 通过反射获取枚举类,及枚举类的值,枚举类枚举实例名。本项目为普通java项目
Java关于中文乱码问题的多种解决方法,中文乱码过滤器
Java1.5提供了关键字enum,能够通过该关键字方便得定义自己须要的枚举类型,比方 enum Season { SPRING, SUMMER, AUTUMN, WINTER } 定义了一个季节枚举类型。 在本例中,对于Season.SPRING这个...
Genum是从YAML数组生成Java枚举类文件的代码生成器。 您可以在服务器端和客户端应用程序之间共享定义! 例如,这是一个以YAML格式编写的数组。 - Tokyo - NewYork - London - Beijing - Paris - Roma Genum将其...
通过枚举反向给实体类赋值工具类,减少表单提交时通过request.getParameter(name)方式获取提交值的重复操作
使用Java枚举可以帮助我们有效地组织常量,并将其用于多种场景,提高代码的易用性和可重用性。 如何使用Java枚举? 在Java中,定义枚举使用enum关键字,其基本语法结构如下: 其中,EnumName表示枚举类型的名称,...
主要介绍了java枚举是如何保证线程安全的。Java SE5提供了一种新的类型-Java的枚举类型,关键字enum可以将一组具名的值的有限集合创建为一种新的类型,而这些具名的值可以作为常规的程序组件使用,这是一种非常有用...
比如110000是北京
struts2枚举值转换示例。 包括一个自定义枚举值转换器, 一个自定义日期值转换器。 需要用struts2处理枚举值的朋友可以试一下。 包括所有需要的jar包。
java enum详细教程。由浅入深,包括基本语法方面..很适合新手学习。/n各位看官。绝对超值。
用枚举值管理项目字典的实战应用(适配器模式)(代码示例) 枚举值相比常量的优势 应用场景 模拟代码实现 3.1 UML类图(适配器模式) 3.2 项目Maven依赖 3.3 示例代码实现 4.4 测试 1.枚举值相比常量的优势 1.1 ...
讲述了java中的枚举类型的用法,深入枚举类型
使用Java枚举创建纸牌游戏“最高纸牌实验室” 建模最高纸牌游戏。 纸牌游戏实验室 本实验旨在为基本的纸牌游戏建模并实施规则。 我们并不是在寻找一款正在运行的游戏,而只是在寻找一款出色的TDD来证明该游戏...
FileList.java 自己实现的一个文件名称枚举类 MyDataIO.java 数据输入输出示例 MyFileOutput.java 将键盘读入的文字保存到文件 MyPipedIO.java 管道流示例 MySequenceIn.java 顺序输入流示例 ObjectFileTest....
今天小编就为大家分享一篇关于Java中对于双属性枚举的使用案例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
通用Java枚举值匹配工具类,可将任意值与指定的枚举类中的枚举值匹配,并返回该枚举类中的枚举常量。
读取大华sdk下载,视频比较全面,winform版本的