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. 非常简单,一看就会。
枚举类型(Enum)在Java编程语言中是一种强大的工具,特别是在Android应用开发中,它可以用于定义一组固定的常量集合,提供了类型安全和易于使用的特性。在这个"枚举类型应用小Demo"中,我们将探讨如何利用枚举来...
在本示例中,"字典枚举扩展工具demo"很可能是为了展示如何利用编程语言(如Python)中的字典枚举功能进行高效的数据操作。这种工具通常包括一系列方法或函数,帮助开发者更便捷地遍历字典、获取键值对,以及执行其他...
下面我们将深入探讨`enum`枚举类的使用方法,并通过具体的代码示例来加深理解。 1. **枚举的定义** 枚举类的定义通常以关键字`enum`开头,后跟枚举名,然后是大括号`{}`内的一系列枚举常量。例如,我们可以定义一...
在本实例代码中,我们将探讨枚举的基本用法和特性。 首先,枚举的定义方式如下: ```java public enum Color { RED, GREEN, BLUE } ``` 在这个例子中,`Color` 是一个枚举类型,`RED`, `GREEN`, `BLUE` 是该枚举...
这些代码可能包括创建枚举类,然后通过反射获取枚举值、实例名以及演示如何使用`getDeclaredConstructor()`和`newInstance()`方法来访问私有构造函数(虽然这不是常规用法)。 通过深入理解这些概念,你可以更好地...
通过以上实例,我们不仅了解了C#枚举类型的基本定义和使用方法,还掌握了如何进行数值操作、方法调用以及与字符之间的转换。枚举类型在C#编程中扮演着重要的角色,合理地运用枚举类型可以使得代码更加清晰、高效。
本文将深入探讨在MyBatis中如何使用枚举类型,并通过实际的项目"mybatis入门实战之枚举类型"进行讲解。这个项目提供了一个简单的demo,非常适合初学者了解并实践MyBatis的TypeHandler机制。 首先,我们要明白枚举...
Java枚举是编程语言Java中的一个特色特性,它在类、接口和变量的定义中扮演着...在JavaDemo项目中,可能包含了各种使用枚举的示例,包括但不限于上述讨论的各种用法,学习和理解这些示例有助于深入理解和应用Java枚举。
02_CheckBoxDemo 演示复选框和单选按钮控件的使用方法。 03_ComboBoxDemo 演示组合框和列表框控件的使用方法。 04_ScrollBarDemo 演示滚动条控件的使用方法。 05_SpinDemo 演示数值调节按钮的使用方法。 06...
本项目示例"1.springboot+mybatis项目demo2.mybatis自定义枚举类型的转换器以及各种使用场景"着重展示了如何在Spring Boot应用中集成MyBatis,并利用MyBatis处理枚举类型的数据。 首先,我们来了解Spring Boot。...
本篇文章将围绕枚举展开讨论,结合`Enum Demo`实例,深入理解枚举的应用和特性。 在Java中,枚举类是单例的,可以通过`.values()`方法获取枚举的所有实例。例如: ```java public enum Color { RED, GREEN, BLUE;...
综上所述,`java enum 枚举的spring boot2.x完美实现demo源码`示例主要展示了如何在Spring Boot 2.x项目中使用枚举类型,包括枚举的定义、属性和方法的添加,以及如何在实际业务场景中应用枚举,如与数据库的交互和...
这个“swift_0 基本语法示例demo”压缩包提供了Swift语言的基础语法示例,非常适合初学者了解和学习。 Swift的语法简洁且具有表达力,它结合了C和Objective-C的优点,同时摒弃了它们的一些复杂性和不安全的特性。...
此外,枚举天然支持单例模式,并且可以拥有方法和字段,增加了灵活性。 在Java中,创建枚举类型的语法如下: ```java public enum Color { RED, GREEN, BLUE; } ``` 枚举不仅可以包含基本类型值,还可以包含复杂...
DEMO通常会包含一个简单的示例,如枚举设备、打开设备、发送/接收数据等基本操作。通过阅读DEMO,你可以了解如何调用libusb API实现USB通信。 6. **设备枚举和选择**: 通过`libusb_get_device_descriptor()`函数...
- `demo8`可能是一个展示如何在类中定义和使用内部类的示例,包括成员内部类和静态内部类的用法,以及如何通过外部类对象访问内部类对象。 - `task03`可能是关于枚举类的练习,涵盖了枚举常量的定义、枚举方法的添加...
定义枚举类型的最简单方法是使用默认构造函数: ```java enum Grade { A, B, C, D, E; } class Student { private Grade grade; public Grade getGrade() { return grade; } public void setGrade(Grade grade...
通过这样的Demo,新手可以学习API调用的基本语法,了解如何处理返回的数据,以及如何将这些功能集成到自己的项目中。对于有经验的开发者来说,这可能是一个快速验证新API功能的起点。 10. **API文档**: 成功使用...
通过这个DEMO,开发者不仅可以学习libusb库的基本用法,还可以了解到如何在Windows环境下处理USB设备的细节。这将有助于创建自己的USB通信程序,支持自定义设备或者对现有设备进行更底层的控制。在深入研究之前,...