`

枚举的设计思想

 
阅读更多
public class EnumPrincipium {
	public static final int MONDAY = 0;
	public static final int TUESDAY = 1;
	public static final int WEDNESDAY = 2;
	public static final int THURSDAY = 3;
	public static final int FRIDAY = 1;
	public static final int SATURDAY = 2;
	//
	private static Object[] obj = {"MONDAY","TUESDAY","WEDNESDAY","THURSDAY"};
	/***
	 * 设置值
	 * @return
	 */
	public static void setValue(int field,Object fieldValue){
		obj[field] = fieldValue;
	}
	/***
	 * 获得值
	 */
	public static Object getValue(int field){
		return obj[field];
	}
	
}

 

	EnumPrincipium ep = new EnumPrincipium();
		ep.setValue(EnumPrincipium.FRIDAY, "星期五");
		Object str = ep.getValue(EnumPrincipium.FRIDAY);
		System.out.println(str);

 这种写代码的方式就是枚举的实现原理。

这种方式用于类似的值有许多,比如说星期,或者月份。当值很相似,却又不想写很多的set和get方法的时候,我们就可以使用一个数组去存储这些需要存储的值,而那些变量是int类型的,其实是数组的下标,而变量的名称是一种很见名知意的写法。如果不去看源代码,我们恐怕会认为这使用的是枚举的方式。

 

 

 

分享到:
评论

相关推荐

    枚举、搜索与动态规划试题精讲.rar

    枚举、搜索与动态规划试题精讲 动态规划是解决多阶段决策最优化问题...使用动态规划思想来设计算法,对于不少问题往往具有高时效,因而,对于能够使用动态程序设计思想来解决的问题,使用动态规划是比较明智的选择。

    算法分析与设计+研究生复试+求职+面试题

    4. 枚举法算法的基本思想; 5. 枚举法算法解决的典型问题有哪些,举例说明算法处理过程? 6. 分治法算法的基本思想; 7. 分治法算法解决的典型问题有哪些,举例说明算法处理过程? 8. 动态规划算法的基本思想; 9. ...

    角标系统设计思路

    游戏红点系统设计思路,通过枚举 绑定对应的函数 . 函数内为 各类系统角标显示条件判断 刷新对应枚举角标数量 然后通过 全局消息 管理器 进行对该枚举类型的广播 触发红点显示

    Java程序设计PPT详解

    本书讲解Java程序设计知识及其编程方法,包括Java语言的基础语法、结构化程序设计、面向对象程序设计、数组、字符串、向量、哈希表、泛型、枚举、异常处理、文件和数据流、图形用户界面设计、小应用程序、线程、编程...

    mysql(多级分销)无限极数据库设计之嵌套集完整性程序源码和脚本,go增删改查

    mysql(多级分销)无限极数据库设计方案(邻接表,路径枚举,闭包表,嵌套集);前三种好理解,最后一种嵌套集设计需要程序维持完整性,这里着重讲解设计思路,并附有Golang实现的源码(增删改查),各位同仁可斟酌...

    java课程设计报告贪吃蛇游戏设计.doc

    2.1.2开发环境 硬件环境: CPU:Intel Pentium(R)4 主频:2.40GHz 存:256MB 软件环境: 操作系统:Windows *P 编程环境: JDK 1.6 开发工具:Eclipse jdk 3.1设计方案论证 3.1.1设计思路 贪吃蛇游戏设计与实现,...

    算法洗脑系统设计模式

    深层次算法思想,是比较有用的设计思想,其中有:概率思想,递归思想,回溯思想,动态规划,贪心思想,枚举思想,分治思想,递推思想等文档。

    程序设计抽象思想:C语言描述-

     2.1 枚举类型  2.2 数据和内存  2.3 指针  2.4 数组  2.5 指针和数组  2.6 记录  2.7 动态分配  2.8 小结  2.9 复习题  2.10 编程练习  第3章 库和接口  3.1 接口的概念  3.2 随机数字  3.3 字符串 ...

    毕业设计-ssm构建彩虹猫购物商城.zip

    用户模块:横向越权、纵向越权、MD5明文加密、guava缓存高复用服务响应对象的设计思想和封装  分类模块(服务端):递归算法复杂对象排重无限层级树结构设计  商品模块:POJO、BO、VO抽象模型高效分页及动态排序...

    算法设计源代码

    简单的C++源代码包括枚举字符串匹配,枚举方程求根,动态规划等等,帮助大家实现一些简单的算法,重在理解算法的思想

    并行程序设计报告—对一个程序进行并行化处理

    实验目的 本次实验的目的是对一个程序进行并行化处理,并对并行化... 该算法的基本思想是:对每一个要排序的元素统计小于它的所有元素的个数,从而得到该元素在整个序列中的位置。其时间复杂度为o(n^2)。其伪代码为:

    C程序设计 第四版 谭浩强 高清扫描版 带完整书签目录 加 学习辅导

    本书的每个例题都按以下几个步骤展开:提出任务—解题思路—编写程序—运行程序—程序分析—有关说明。符合读者认知规律,容易入门与提高。 本书内容先进,体系合理,概念清晰,讲解详尽,降低台阶,分散难点,例题...

    积分管理系统java源码-pretty-boot-demo:全局枚举设置,i18n,全局异常句柄

     设计这个项目初衷是对现在项目中的过度封装设计感觉深恶痛绝。本人崇尚简约而又不简单,所以按照自己的思路编写一个优美而又简单的DEMO。希望打造一个从结构领域概念上面条例清晰,从代码结构上轻松易懂,方便开发...

    C语言算法视频教程集合(递推、枚举、递归、分治、贪婪、试探法、模拟、数据结构)

    1、理解和实现递归、迭代、分治、贪婪等算法思想; 2、学会应用试探法和模拟方法解决问题; 3、掌握一些常见的数据结构,了解它们的特性和应用场景; 4、提高解决问题的能力,培养算法思维。 5、在实际编程中,这些...

    第4讲 操作系统、程序设计语言、算法.pptx

    枚举算法,递归与分治策略,递归与迭代的思想、求最大值最小值、线性查找、二分查找与冒泡排序以及选择与交换排序、插入和希尔排序。本课程除了强调经典的算法理论和模型,亦兼顾编程实践能力。力图使得学员面对复杂...

    Api万能路由利用AOP编程思想,指针参数,等来实现任意object-c的API调用

    1、资源内容: Api万能路由利用AOP编程思想,指针参数,等来实现任意object-c的API调用。 支持基本数据类型,对象类型,代理,block,枚举,结构体等(系统自带和自定义均支持) ;本sdk用于组件化开发模式,多sdk...

    Objective-C2.0程序设计

    13.3.5 不要忘记面向对象编程思想 13.4 指针 13.4.1 指针和结构 13.4.2 指针、方法和函数 13.4.3 指针和数组 13.4.4 指针运算 13.4.5 指针和内存地址 13.5 联合 13.6 它们不是对象 13.7 其他语言特性 13.7.1 ...

    经典游戏猜数字(TC实现,带计算机解题功能)

    这个带电脑解题的,可以做小设计的课题。 使用方法:  没有制作太多的排错代码,所以一次只能输入4个半角字符。输入"exit"退出程序,输入"rand"计算机自动猜数,输入"answ"显示正确答案,输入中包含通配符"*"时进行...

    新教科版-高一信息技术-4.1-算法及其特征.pptx

    在这个世界里,人类文化与程序设计不仅并行存在,而且会互相联系,融合 为一种全新的人类思想。—— 叶尔肖夫 ( Yershow) 新教科版-高一信息技术--4全文共33页,当前为第1页。 学习目标 熟悉将解决问题的方法归结为...

    数据库设计约定.pdf

    架构设计思路是"解放数据库CPU,将计算转移到服务层",并发量⼤的情况下,这些功能很可能将数 据库拖死,业务逻辑放到服务层具备更好的扩展性,能够轻易实现"增机器就加性能"。数据库擅长存储与索引,CPU计算还是上...

Global site tag (gtag.js) - Google Analytics