- 浏览: 195298 次
- 性别:
- 来自: 北京
-
文章分类
- 全部博客 (321)
- eclipse (4)
- idea (2)
- Html (8)
- Css (14)
- Javascript (8)
- Jquery (6)
- Ajax Json (4)
- Bootstrap (0)
- EasyUI (0)
- Layui (0)
- 数据结构 (0)
- Java (46)
- DesPattern (24)
- Algorithm (2)
- Jdbc (8)
- Jsp servlet (13)
- Struts2 (17)
- Hibernate (11)
- Spring (5)
- S2SH (1)
- SpringMVC (4)
- SpringBoot (11)
- WebService CXF (4)
- Poi (2)
- JFreeChart (0)
- Shiro (6)
- Lucene (5)
- ElasticSearch (0)
- JMS ActiveMQ (3)
- HttpClient (5)
- Activiti (0)
- SpringCloud (11)
- Dubbo (6)
- Docker (0)
- MySQL (27)
- Oracle (18)
- Redis (5)
- Mybatis (11)
- SSM (1)
- CentOS (10)
- Ant (2)
- Maven (4)
- Log4j (7)
- XML (5)
最新评论
1. enum用于常量
2. enum使用switch
3. enum中添加新方法
4. enumSet示例
5. enumMap示例
6. enum应用
推荐博客:
https://blog.csdn.net/javazejian/article/details/71333103
在JDK1.5之前可以使用public static final来定义常量,现在可以使用enum,而且枚举提供了比常量更多的方法。 public enum Color{ Red, White, Blue, Black } public class ColorTest{ public static void main(String[] args){ Color myColor = Color.Blue; System.out.println(myColor); System.out.println("----------------"); for(Color color : Color.values()){ System.out.println(color); } } } 运行结果: Blue ---------------- Red White Blue Black
2. enum使用switch
enum使用switch,可以提高代码的可读性。 public class EnumTest{ public static void doOp(OpConstant opConstant){ switch (opConstant){ case TURN_LEFT: System.out.println("向左转"); break; case TURN_RIGHT: System.out.println("向右转"); break; case SHOOT: System.out.println("射击"); break; } } public static void main(String[] args){ doOp(OpConstant.TURN_LEFT); } } enum OpConstant{ TURN_LEFT, TURN_RIGHT, SHOOT } 运行结果: 向左转
3. enum中添加新方法
要想使用penny("hello"), nickel("world");样式的枚举,就要实现 1) value属性 2) value属性的构造方法 3) getValue()方法 public enum Coin{ penny("hello"), nickel("world"), dime("welcome"), quarter("hello world"); private String value; public String getValue(){ return value; } Coin(String value){ this.value = value; } public static void main(String[] args){ Coin coin = Coin.quarter; System.out.println(coin.getValue()); } } public class ShowEnum{ public static void main(String[] args){ enumCompareTo(OpConstant.valueOf(args[0])); } public static void enumCompareTo(OpConstant constant){ System.out.println(constant); for(OpConstant c : OpConstant.values()){ System.out.println(constant.compareTo(c)); } } } 运行输入参数: TURN_RIGHT 运行结果: TURN_RIGHT 1 0 -1 values()方法 ordinal()方法返回顺序 public class ShowEnum2{ public static void main(String[] args){ for(OpConstant c : OpConstant.values()){ System.out.printf("%d, %s, %n", c.ordinal(), c); } } } 运行结果: 0, TURN_LEFT, 1, TURN_RIGHT, 2, SHOOT,
4. enumSet示例
1. EnumSet的of()方法和complementOf()方法 import java.util.EnumSet; import java.util.Iterator; enum FontConstant{ Plain, Bold, Italilc, Hello } public class EnumSetDemo{ public static void main(String[] args){ EnumSet<FontConstant> enumSet = EnumSet.of(FontConstant.Plain); showEnumSet(enumSet); System.out.println("-------"); showEnumSet(EnumSet.complementOf(enumSet)); } public static void showEnumSet(EnumSet<FontConstant> enumSet) { for(Iterator<FontConstant> iter = enumSet.iterator(); iter.hasNext();){ System.out.println(iter.next()); } } } 运行结果: Plain ------- Bold Italilc Hello 2. EnumSet的noneOf()方法 import java.util.EnumSet; import java.util.Iterator; public class EnumSetDemo2{ public static void main(String[] args){ EnumSet<FontConstant> enumSet = EnumSet.noneOf(FontConstant.class); enumSet.add(FontConstant.Bold); enumSet.add(FontConstant.Italilc); showEnumSet(enumSet); } public static void showEnumSet(EnumSet<FontConstant> enumSet){ for(Iterator<FontConstant> iter = enumSet.iterator(); iter.hasNext();){ System.out.println(iter.next()); } } } 运行结果: Bold Italilc 3. EnumSet的copyOf()方法 import java.util.ArrayList; import java.util.EnumSet; import java.util.Iterator; import java.util.List; public class EnumSetDemo3{ public static void main(String[] args){ List<FontConstant> list = new ArrayList<FontConstant>(); list.add(FontConstant.Bold); list.add(FontConstant.Italilc); list.add(FontConstant.Plain); showEnumSet(EnumSet.copyOf(list)); } public static void showEnumSet(EnumSet<FontConstant> enumSet){ for(Iterator<FontConstant> iter = enumSet.iterator(); iter.hasNext();){ System.out.println(iter.next()); } } } 运行结果: Plain Bold Italilc
5. enumMap示例
遍历的顺序和枚举的顺序一致。 import java.util.EnumMap; import java.util.Map; public class EnumMapDemo{ public static void main(String[] args){ Map<Action, String> map = new EnumMap<Action, String>(Action.class); map.put(Action.TURN_RIGHT, "向右转"); map.put(Action.SHOOT, "射击"); map.put(Action.TURN_LEFT, "向左转"); for (Action action : Action.values()){ System.out.println(map.get(action)); } } } enum Action{ TURN_LEFT, TURN_RIGHT, SHOOT; } 运行结果: 向左转 向右转 射击
6. enum应用
枚举实际应用:控制权限。 public enum AccessRight{ MANAGER, DEPARTMENT, EMPLOYEE; } public class AccessControl{ public static boolean checkRight(AccessRight accessRight){ if(accessRight == AccessRight.MANAGER){ return true; } else if(accessRight == AccessRight.DEPARTMENT){ return false; } return false; } public static void main(String[] args){ AccessRight accessRight = AccessRight.valueOf("MANAGER"); System.out.println(checkRight(accessRight)); } } 运行结果: true
推荐博客:
https://blog.csdn.net/javazejian/article/details/71333103
发表评论
-
Java中获取IP地址、子网掩码、网关地址
2019-06-26 10:53 01. Java中获取IP地址、子网掩码、网关地址、ping连通 ... -
Java中ThreadLocal
2019-04-19 10:44 01. Java中ThreadLocal Java中的Th ... -
Java中原子性锁synchronized、Lock
2019-04-18 15:19 01. synchronized依赖JVM 1) 修饰代码 ... -
Java中原子性Atomic
2019-04-18 14:45 01. Atomic包简介 java.util.concu ... -
开发常用链接
2019-03-26 11:21 0在线工具:http://tool.oschina.net/ ... -
java1234学习目录
2019-03-21 11:08 01-01-01 N01 J2SEv2(41课时) ... -
Java中TCP和UDP
2018-10-25 10:55 3591. 网页内容获取 Url1.java impor ... -
Java中Thread线程
2018-10-25 09:38 3991. 实现线程的两种方式 1. 继承Thread类并重写 ... -
Java中serializable序列化
2018-10-24 14:46 4891. 序列化 transient不会被序列化。 imp ... -
Java中CharSet集
2018-10-24 11:31 5571. CharSet集 import java.nio. ... -
Java中RandomAccessFile类
2018-10-24 11:30 5211. RandomAccessFile类 1. 使用Ra ... -
Java中I/O的字符流InputStreamReader和OutputStreamWriter
2018-10-22 09:43 4531. InputStreamReader和OutputStre ... -
Java中其它输入输出流
2018-10-22 09:08 4831. ByteArrayInputStream流 以ar ... -
Java中I/O的OutputStream流
2018-10-22 08:54 4971. Java中I/O的OutputStream流 1. ... -
Java中I/O的InputStream流
2018-10-22 08:42 4791. Java中I/O的InputStream流 1. ... -
Java中I/O的File类
2018-10-19 13:45 4541. Java中I/O的File类 1. 在window ... -
Java中innerClass内部类
2018-10-18 09:37 4641. Java中innerClass内部类 用AA.BB ... -
Java中adapter适配器
2018-10-18 08:36 5961. Java中adapter适配器 适配器adapte ... -
Java中awt包
2018-10-17 11:26 17271. Java中awt包 AWT事件模型Event 1 ... -
Java中frame对象
2018-10-17 10:56 6961. Java中frame对象 1. Frame对象 ...
相关推荐
Java枚举类型(Enum)是Java SE 5.0引入的一种新的数据类型,它为开发者提供了更为强大且安全的方式来表示一组常量。枚举在Java中不仅是一个类,还是一种特殊的类型,允许我们定义自己的常量集合。接下来,我们将...
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 枚举类型是 Java 5 中引入的一种新特性,旨在解决传统的 int 枚举常量的缺陷。 1. 枚举语法 在 Java 中,枚举类型...
本篇文章将深入探讨Java枚举的特性、用法以及如何在实际开发中充分利用它们。 一、枚举的基本用法 1. 声明枚举类型: ```java public enum Color { RED, GREEN, BLUE } ``` 在这里,`Color`是枚举类型,`RED`, `...
在 Java 中,枚举(enum)是一种特殊的类,它被用来表示一组固定的常量值。枚举类型自 JDK 1.5 开始引入,为开发者提供了一种更加安全、简洁的方式来处理一组固定的数据集合。枚举中的每个元素都是该枚举类型的对象...
Java中的枚举(enum)类型是在JDK 1.5版本引入的一个强大的特性,它用于定义一组相关的常量。在C/C++等语言中,枚举通常用来表示一组具有固定值的常量集合,但在Java中,枚举不仅限于此,它提供了更多的功能和灵活性...
Java枚举支持单例模式,因为每个枚举常量都是唯一的,不能通过`new`关键字实例化。此外,枚举类型的枚举常量可以按照声明顺序自然排序,这使得它们在处理有序数据时非常方便。 枚举类型还可以与其他集合框架结合...
在Java编程语言中,`Enum`(枚举)是一种特殊的类类型,用于定义固定的、预定义的常量集合。它们在程序设计中扮演着重要的角色,特别是在需要表示一组固定值时,如状态、颜色、星期等。本资源包提供了一些关于`Enum`...
这篇博客将深入探讨Java枚举的特性和使用方法,包括`EnumSet`和`EnumMap`这两个与枚举相关的数据结构。 首先,枚举定义的基本语法是`public enum EnumName {constant1, constant2, ...}`。每个枚举常量都是`...
Java枚举(enum)是Java语言中的一种特殊数据类型,用于定义一组有限的常量,这些常量在程序中作为固定的值使用。枚举在Java中被引入,目的是为了更好地管理和使用常量,提高代码的可读性和安全性。在本实例代码中,...
### Java中的Enum深入解析 #### 引言 在Java编程语言中,`Enum`是一种特殊的数据类型,用于处理一组固定的常量。它不仅提供了一种更安全、更灵活的方式来表示一组固定的选择,还包含了丰富的内置功能,使得枚举...
#### 二、Java枚举的基本概念 1. **什么是Java枚举?** - 枚举(`enum`)是Java中的一种特殊类,它只能包含固定数量的实例。 - 枚举中的每个元素都是该类型的实例,它们是类的成员,并且默认是静态和final的。 - ...
枚举(Enumeration)是Java中的一个特殊类类型,用于定义一组常量。本项目"test-enum-demo-master"显然是一个用于演示如何通过反射来操作枚举类的示例。 首先,让我们理解枚举类的基本概念。枚举类在Java中用于定义...
Java 中枚举类 enum 的 values() 方法详解 Java 中的枚举类 enum 是一种特殊的类,通过使用 enum 关键字来定义。枚举类 enum 中有一个特殊的方法,values(),这个方法可以将枚举类转换为一个枚举类型的数组。通过...
Java 枚举(enum)是 Java 语言中的一个重要特性,自 Java 5 开始引入。枚举用于定义一组相关的常量,这些常量通常代表一个有限的、预定义的值集合。枚举类是一种特殊的类,它具有以下特点: 1. **枚举类的声明**:...
Java 中使用关键字 enum 来定义一个枚举类型。例如: ```java public enum Season { SPRING, SUMMER, AUTUMN, WINTER; } ``` 特点 Java 定义枚举类型的语句很简约。它有以下特点: 1. 使用关键字 enum 2. 类型...
本文将深入探讨Java枚举类型的特点、用法以及最佳实践。 Java中的枚举类型是一种强大的特性,它提供了一种类型安全的方式来表示一组固定的常量。枚举类型可以包含字段、方法和构造器,使得它们可以携带额外的信息和...
Java枚举(enum)是Java语言提供的一种特殊的数据类型,用于定义一组有限的常量,这些常量在程序中作为固定的值使用。枚举在Java中是类的子类型,因此,它们具备类的一些特性,比如可以有方法、变量以及实现接口。...