- 浏览: 67820 次
- 性别:
- 来自: 绍兴
最新评论
enum Province{ ZHEJIANG,SHANGHAI,JIANGSU }
Province是一个最简单枚举类,它内部有三个指向它实例包括江浙沪
枚举类的特点就是它的所有实例都是在它内部生长的,并都是由编译器创建生成的
Province.values() //返回Province所有实例的数组[ZHEJIANG,SHANGHAI,JIANGSU]
其实Enum类并不存在values方法,是由编译器添加的静态方法,还有一种获得实例数组
的方法就是 Province.ZHEJIANG.getClass().getEnumConstants()
Province.SHANGHAI.ordinal() //返回SHANGHAI的序列下标 1
Province.values()[0].name() //返回ZHENGJIANG的显示名称'ZHEJIANG'
enum Province{ ZHEJIANG("浙江"), SHANGHAI("上海"), JIANGSU ("江苏"); private String name; public String getDesc(){ return "地址是"+name; } public Province(String name){ this.name = name; } }
自定义枚举构造方法,在创建江浙沪3个实例时都传递了各自的中文名称作为构造参数
Province.values()[0].getDesc() //自定义方法 返回地址是浙江
注意要自定义属性或方法时必须在枚举最后一个实例后面加上';'号
为什么枚举不能继承其他类?
因为所有枚举都默认继承Enum类了,java指定一个类最多只能继承一个父类,所以枚举类
无法再显示继承其他类了,当然枚举可以实现接口.
interface Province{ enum Huadong implements Province{ ZHEJIANG,SHANGHAI; }, enum Huanan implements Province{ GUANGDONG,JIANGXI; }, enum Huabei implements Province{ BEIJING,TIANJING; } }
通过枚举实现接口的方式,将省分为华东华南华北三类,Province p = Province.Huangdong
.ZHEJIANG可以将ZHEJIANG向上转型为Province类型
Enum虽然可以很好的管理数据,但是他不能手动新增或删除实例,算不上一个容器
说到枚举特有的容器,看看下面的代码创建一个直辖市的EnumSet保存数据
EnumSet<Province> zhixiashi = EnumSet.noneOf(Province.class); zhixiashi.addAll(EnumSet.of(Province.BEIJING,Province.TIANJING));
再看一个EnumMap的例子
EnumMap<String[]> citys = new EnumMap<String[]>(Province.class); citys.put(Province.Huadong.ZHENGJIAN,{'杭州','宁波','绍兴'})
EnumMap的特点就是它的key都必须是枚举类型的
注:以上代码均为手敲伪代码,不保证能编译通过
发表评论
-
Web开发学习13聊聊java反射
2016-07-12 18:41 718很喜欢一本叫《走出软件作坊》的书,其中有一句话让我较为深刻,“ ... -
Web开发学习12 浅谈设计模式
2016-07-01 13:33 1282在我刚接触 ... -
Web开发学习11 全局缓存控制
2015-10-12 14:27 706缓存用的好可以减少数据库的压力,在大并发的情况下极大的提升服务 ... -
Web开发学习10 hadoop实战
2015-10-09 14:02 697前一篇说到项目记录了很多埋点日志,当有一天项目需求需要对这些日 ... -
Web开发学习(9)全局埋点
2015-07-27 11:10 1959埋点的作用是把客户端每次访问服务端的操作记录下来,包括请求连接 ... -
Web开发学习8Struts2基类封装
2015-07-24 12:03 668一个好的基类可以帮助开发者减少很多开发工作,像我这种爱偷懒的人 ... -
Web开发学习7按钮级别权限控制
2015-07-23 16:21 13250这个功能的思路是自己原创的,没看过其他例子,其实是在做之前网上 ... -
Web开发学习6添加liqiubase
2015-07-22 14:29 1403开发过程中经常碰到数据库更改的情况,在日常环境下如果每位开发人 ... -
maven常用命令
2013-07-08 10:20 7521、创建普通Java项目: ... -
canvas绘制科赫雪花
2012-12-20 17:24 2111<html> <head> ... -
html5 audio与video方法属性事件概括
2012-12-20 14:46 1062play() 继续播放 pause() ... -
spring 整合mina
2012-12-20 11:48 1072首先定义自定义过滤器 <bean id=" ... -
Web开发学习(5)添加springsecurity应用
2011-12-14 15:00 922我学习公司这个架构多半就是为了把springsecurity搞 ... -
Web开发学习(4)添加spring应用
2011-12-14 14:45 762印象中似乎没做过不用spring的项目,因为它在web开发中的 ... -
Web开发学习(3)配置struts-tiles插件(附带json插件)
2011-12-05 15:22 2517struts的tiles插件是非常实用的,从某些方面可以很好的 ... -
使用线程删除导出临时文件
2011-12-01 16:33 2219项目支持大数据量导出e ... -
jQuery实现表格行点击选中复选框
2011-11-23 12:36 5941这个需求是在项目完成后客户提出的要求,看似简单但是还需要一点小 ... -
Web开发学习(2)配置convention插件
2011-11-04 10:28 1347注解的方式某些程度上能减少xml的配置量,个人感觉使程序更加清 ... -
Web开发学习(1)使用eclipse搭建maven项目
2011-10-20 10:04 5696首先用eclipse创建工程 ne ... -
数据库连接泛型基类创建
2011-06-30 11:49 953记录 以便以后参考---- 基类代码 public cl ...
相关推荐
java enum详细教程。由浅入深,包括基本语法方面..很适合新手学习。/n各位看官。绝对超值。
Java enum的用法详解,可作为开发api
博文“Java 语言中 Enum 类型的使用介绍”的源码。
ava enum 枚举的spring boot2.x完美实现demo源码。java的枚举类型,可以理解为一种特殊的java类
Java enum的用法详解
java enum枚举教程学习资料
javaenum学习.pdf
java中enum枚举的详细用法。 0.0
enum李兴华视频笔记,绝对值得看!
主要介绍了Java Enum和String及int的相互转化示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
javaenum(枚举)使用详解+总结.pdf
java代码-java 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和EnumMap类的使用。
enum 的全称为 enumeration, 是 JDK 1.5 中引入的新特性,存放在 java.lang 包中,在上面的这种情况下,enum能派上用场了。枚举类型的用途不仅如此,具体可用场景可看下面的介绍 1、常量 以前我们定义一...
主要介绍了浅谈Java中是否直接可以使用enum进行传输,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
NULL 博文链接:https://janeky.iteye.com/blog/463611