package enums; import java.util.EnumMap; import java.util.EnumSet; public enum ProductTypeEnum { //枚举,相当于ProductTypeEnum的实例,里面参数分别为产品类型代码和产品类型名称 OVERSEAPRODUCT(1 ,"海外产品" , "overseaProduct") { @Override public String speakProductType() { return "我是海外产品"; } }, COUNTRYPRODUCT(2 , "国内产品" , "countryProduct") { @Override public String speakProductType() { return "我是国内产品"; } }, HKPRODUCT(3 , "香港产品" , "hkProduct") { @Override public String speakProductType() { return "我是香港产品"; } }, MACAUPRODUCT(4 , "澳门产品" , "macauProduct") { @Override public String speakProductType() { return "我是澳门产品"; } }; private int code;//私有属性 private String name; private String englishName; ProductTypeEnum(int code , String name , String englishName){//构造方法,必须是protected或者private this.code = code; this.name = name; this.englishName = englishName; } //每一个枚举成员就有了自己的方法,可以定义多个方法,方法必须以抽象方法的形式作声明(例如 abstract String event();) //一个方法一旦定义了就必须在每一个枚举成员中得到实现。 public abstract String speakProductType(); public String getName() { return name; } public void setName(String name) { this.name = name; } public int getCode() { return code; } public void setCode(int code) { this.code = code; } public String getEnglishName() { return englishName; } public void setEnglishName(String englishName) { this.englishName = englishName; } //根据传入的值,遍历枚举类型(values()), public static ProductTypeEnum fromValue(String englishName){ for (ProductTypeEnum productTypeEnum : ProductTypeEnum.values()) { if (productTypeEnum.englishName.equals(englishName)) { return productTypeEnum; } } return null; } public static void main(String[] args) { //switch case 使用 ProductTypeEnum pEnum = fromValue("overseaProduct"); switch (pEnum) { case OVERSEAPRODUCT: System.out.println("这是一个海外产品!"); break; case COUNTRYPRODUCT: System.out.println("这是一个国内产品!"); break; case HKPRODUCT: System.out.println("这是一个香港产品!"); break; case MACAUPRODUCT: System.out.println("这是一个澳门产品!"); break; default: System.out.println("这不是一个正常产品!"); break; } //enum的遍历 System.out.println("-------------------------------------------"); for (ProductTypeEnum productTypeEnum : ProductTypeEnum.values()) { System.out.println(productTypeEnum.code + "----" + productTypeEnum.englishName + "----" + productTypeEnum.name); System.out.println("----" + productTypeEnum.speakProductType()); } //EnumSet System.out.println("--------------------------------------------"); EnumSet<ProductTypeEnum> productTypeEnumSet = EnumSet.allOf(ProductTypeEnum.class); for (ProductTypeEnum productTypeEnum : productTypeEnumSet) { System.out.println(productTypeEnum); } //EmunMap System.out.println("--------------------------------------------"); EnumMap<ProductTypeEnum,String> productTypeEnumMap = new EnumMap<ProductTypeEnum, String>(ProductTypeEnum.class); productTypeEnumMap.put(ProductTypeEnum.COUNTRYPRODUCT, "国内"); productTypeEnumMap.put(ProductTypeEnum.HKPRODUCT, "香港"); productTypeEnumMap.put(ProductTypeEnum.MACAUPRODUCT, "澳门"); productTypeEnumMap.put(ProductTypeEnum.OVERSEAPRODUCT, "海外"); for (ProductTypeEnum productTypeEnum : ProductTypeEnum.values()) { System.out.println(productTypeEnum.name() + "-----" + productTypeEnumMap.get(productTypeEnum)); } } }
输出 :
这是一个海外产品! ------------------------------------------- 1----overseaProduct----海外产品 ----我是海外产品 2----countryProduct----国内产品 ----我是国内产品 3----hkProduct----香港产品 ----我是香港产品 4----macauProduct----澳门产品 ----我是澳门产品 -------------------------------------------- OVERSEAPRODUCT COUNTRYPRODUCT HKPRODUCT MACAUPRODUCT -------------------------------------------- OVERSEAPRODUCT-----海外 COUNTRYPRODUCT-----国内 HKPRODUCT-----香港 MACAUPRODUCT-----澳门
参考链接:http://www.ibm.com/developerworks/cn/java/coretech/java-lang.html
相关推荐
演示如何操作Delphi 的枚举类型。 1. 包含源代码; 2. 包含执行程序 3. 演示如下函数如何使用:GetEnumName、GetEnumProp、GetEnumValue、SetEnumProp 4. 非常简单,一看就会。
枚举在android应用开发中的小列子,知识点有应用到手势的绘制监听函数
java枚举小例子,简单了解枚举的用法,适合初学者使用。
C# 枚举类型的实例说明,描述了枚举类型的主要使用方法
02_CheckBoxDemo 演示复选框和单选按钮控件的使用方法。 03_ComboBoxDemo 演示组合框和列表框控件的使用方法。 04_ScrollBarDemo 演示滚动条控件的使用方法。 05_SpinDemo 演示数值调节按钮的使用方法。 06...
Silverlight2.0功能展示Demo源码 1、Silverlight(3) - 2.0控件之Border, Button, Calendar, Canvas, CheckBox, ComboBox 介绍 Silverlight 2.0 控件一览:Border, Button, Calendar, Canvas, CheckBox, ComboBox 2...
状态机 概述 ...StateListener:自定义监听器,可实现相应方法或使用注解定义监听事件 StateMaker:自定义决策类,用于实现多状态选择 declarative:该包下为声明式注解定义状态机及其实现状态流程控制
2、枚举类 3、Map 4、文件流(抽象基类、访问文件、缓冲流、转换流、对象流) 5、异常 6、Sql中In转化为Or 7、UUid 8、排序(插入、冒泡、快速) 9、读取Xml(Dom4j、Jdom) 10、反射(通过反射获取类中的方法、变量...
由于前段时间写了这篇文章,最新Moya已更新最新版本,故此也更新了下用法,本人已使用,故特意奉上最新的使用demo供参考。Moya11.0.2Demo Moya简介 Moya是你的 app 中缺失的网络层。不用再去想在哪儿(或者如何)...
2.重写 onEnter 方法添加一些基本按钮 跟一些初始化代码 3.通过schedule方法 控制 坦克 子弹的CCSprite对象 4.根据点击手机屏幕,确定出坦克的方向,根据坦克的方向修改坦克的X,Y轴坐标,来实现坦克的移动 5....
示例描述:本章介绍了XAML的语法,包括原理、使用方法以及事件处理等等。 AttachedProperty 使用XAML中的附加属性。 CodebehindDemo 使用XAML中的后置代码文件编写程序代码。 LooseXaml 松散XAML示例。 ...
当应用程序在对象上调用了一个需要花费很长时间来执行的方法,并且不希望让程序等待方法的返回时,就应该使用异步编程,在很多情况下采用异步途径往往更有效率。 20、abstract class和interface有什么区别? ...
内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、字符串、文件读写操作、文件与文件夹属性操作、文件与文件夹系统操作、系统控制操作、程序...
内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、字符串、文件读写操作、文件与文件夹属性操作、文件与文件夹系统操作、系统控制操作、程序...
@Target:用于描述注解的使用范围,如果自定义注解不存在@Target,则表示该注解可以使用在任何程序元素之上。接收参数ElementType,其值如下: /**接口、类、枚举、注解**/ ElementType.TYPE /**字段、枚举的常量**/...
内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、字符串、文件读写操作、文件与文件夹属性操作、文件与文件夹系统操作、系统控制操作、程序...
内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、字符串、文件读写操作、文件与文件夹属性操作、文件与文件夹系统操作、系统控制操作、程序...
内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、字符串、文件读写操作、文件与文件夹属性操作、文件与文件夹系统操作、系统控制操作、程序...
第5天 00随机数 05数组 06数组的运用 06数组的运用:冒泡程序 07方法 01枚举 04结构 02枚举和int以及sting类型之间的转换 03枚举练习 第6天 01方法调用 判断是否为整数 yes或no 02方法练习求数组的和 03方法 out...
自动枚举脚本 用法 ./faraday_auto_enum.sh 启动服务器 sudo systemctl start postgresql sudo systemctl start faraday-server 客户 faraday-cli auth faraday-cli select_ws demo 例子 ┌──(Hades㉿192.168.11...