博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
每天进步一点:java enum使用
阅读量:6171 次
发布时间:2019-06-21

本文共 2685 字,大约阅读时间需要 8 分钟。

  hot3.png

网上找的例子,研究了下,备注下

package com.test.utils; import java.util.EnumMap;import java.util.EnumSet; public class LightTest {     // 1. 定义枚举类型    public enum Light {       // 利用构造函数传参       RED (1), GREEN (3), YELLOW (2);        // 定义私有变量       private int nCode ;        // 构造函数,枚举类型只能为私有       private Light( int _nCode) {           this . nCode = _nCode;       }        @Override       public String toString() {           return String.valueOf ( this . nCode );       }    }     /**      * @param args      */    public static void main(String[] args ) {        // 1. 遍历枚举类型       System. out .println( " 演示枚举类型的遍历 ......" );       testTraversalEnum ();        // 2. 演示 EnumMap 对象的使用       System. out .println( " 演示 EnmuMap 对象的使用和遍历 ....." );       testEnumMap ();        // 3. 演示 EnmuSet 的使用       System. out .println( " 演示 EnmuSet 对象的使用和遍历 ....." );       testEnumSet ();    }     /**      * 演示枚举类型的遍历      */    private static void testTraversalEnum() {       Light[] allLight = Light.values ();       Light light=Light.valueOf("RED");       System.err.println(light+"**************");       for (Light aLight : allLight) {    	              System. out .println( " 当前灯 name : " + aLight.name());           System. out .println( " 当前灯 ordinal : " + aLight.ordinal());           System. out .println( " 当前灯: " + aLight);       }    }     /**      * 演示 EnumMap 的使用, EnumMap 跟 HashMap 的使用差不多,只不过 key 要是枚举类型      */    private static void testEnumMap() {       // 1. 演示定义 EnumMap 对象, EnumMap 对象的构造函数需要参数传入 , 默认是 key 的类的类型       EnumMap
currEnumMap = new EnumMap
( Light. class ); currEnumMap.put(Light. RED , " 红灯 " ); currEnumMap.put(Light. GREEN , " 绿灯 " ); currEnumMap.put(Light. YELLOW , " 黄灯 " ); // 2. 遍历对象 for (Light aLight : Light.values ()) { System. out .println( "[key=" + aLight.name() + ",value=" + currEnumMap.get(aLight) + "]" ); } } /** * 演示 EnumSet 如何使用, EnumSet 是一个抽象类,获取一个类型的枚举类型内容
* 可以使用 allOf 方法 */ private static void testEnumSet() { EnumSet
currEnumSet = EnumSet.allOf (Light. class ); for (Light aLightSetElement : currEnumSet) { System. out .println( " 当前 EnumSet 中数据为: " + aLightSetElement); } }}

输出结果:

演示枚举类型的遍历 ......1************** 当前灯 name : RED 当前灯 ordinal : 0 当前灯: 1 当前灯 name : GREEN 当前灯 ordinal : 1 当前灯: 3 当前灯 name : YELLOW 当前灯 ordinal : 2 当前灯: 2 演示 EnmuMap 对象的使用和遍历 .....[key=RED,value= 红灯 ][key=GREEN,value= 绿灯 ][key=YELLOW,value= 黄灯 ] 演示 EnmuSet 对象的使用和遍历 ..... 当前 EnumSet 中数据为: 1 当前 EnumSet 中数据为: 3 当前 EnumSet 中数据为: 2

 

转载于:https://my.oschina.net/mifans/blog/707738

你可能感兴趣的文章
Inno Setup入门(二十)——Inno Setup类参考(6)
查看>>
图片自适应
查看>>
amd cmd
查看>>
Linux下的uml画图工具
查看>>
xml返回数组数据
查看>>
约瑟夫问题总结
查看>>
spring mybatis 批量插入返回主键
查看>>
指针函数小用
查看>>
开源力量公开课第二十三期-从SVN到Git,次时代代码管理
查看>>
输入挂
查看>>
升级迁移前,存储过程统计各个用户下表的数据量,和迁移后的比对
查看>>
sql注入分类
查看>>
初识CSS选择器版本4
查看>>
[Hadoop in China 2011] 朱会灿:探析腾讯Typhoon云计算平台
查看>>
JavaScript之数组学习
查看>>
PHP 设置响应头来解决跨域问题
查看>>
CAS实现SSO单点登录原理
查看>>
博客园美化专用图片链接
查看>>
HDU_1969_二分
查看>>
高等代数葵花宝典—白皮书
查看>>