作用:让数据更简洁,更易读,增加代码可读性。

  为了用1,2,3,4,5分别表示老师,学生,小组,班主任,后勤,可以直接设置一个变量,让roleType = 1,但这样写代码可读性差。

  也可以定义一个成员类,分别给不同的静态成员赋1,2,3,4,5,在需要调用的地方,直接通过RoleType.xxx去进行变量的赋值,如下:

package com.Gary2;

public class CustomEnum {
public static void main(String[] args) {
//1老师 2学生 3小组 4班主任 5后勤 //可读性差
// int roleType = 2;
// int roleType2 = 5; //学生
int roleType = RoleType.STUDENT;
//后勤
int roleType2 = RoleType.LOGISTICS; } }

RoleType.java

package com.Gary2;

public class CustomEnum {
public static void main(String[] args) {
//1老师 2学生 3小组 4班主任 5后勤 //可读性差
// int roleType = 2;
// int roleType2 = 5; //学生
int roleType = RoleType.STUDENT;
//后勤
int roleType2 = RoleType.LOGISTICS; } }

CustomEnum.java

  枚举类型就是对RoleType.class进行简化

package com.Gary2;

//枚举
public enum RoleTypeEnum { //不需要直接赋值,默认从0开始依此增加,实际上是int类型
TEACHER,
STUDENT,
PRINCIPAL,
HEADTEACHER,
LOGISTICS }

RoleTypeEnum.java

package com.Gary2;

public class CustomEnum {
public static void main(String[] args) {
//1老师 2学生 3小组 4班主任 5后勤 //可读性差
// int roleType = 2;
// int roleType2 = 5; //学生
//int roleType = RoleType.STUDENT;
//后勤
//int roleType2 = RoleType.LOGISTICS; //使用枚举类型
RoleTypeEnum rt1 = RoleTypeEnum.TEACHER;
RoleTypeEnum rt2 = RoleTypeEnum.STUDENT;
System.out.println(rt1);
System.out.println("取得所代表int类型"+rt1.ordinal()); } }

CustomEnum.java

  使用增强for循环遍历枚举类型中的值

  for(RoleTypeEnum rt :RoleTypeEnum.values()) {
    System.out.println(rt);
  }

package com.Gary2;

public class CustomEnum {
public static void main(String[] args) {
//1老师 2学生 3小组 4班主任 5后勤 //可读性差
// int roleType = 2;
// int roleType2 = 5; //学生
//int roleType = RoleType.STUDENT;
//后勤
//int roleType2 = RoleType.LOGISTICS; //使用枚举类型
RoleTypeEnum rt1 = RoleTypeEnum.TEACHER;
RoleTypeEnum rt2 = RoleTypeEnum.STUDENT; for(RoleTypeEnum rt :RoleTypeEnum.values()) {
System.out.println(rt);
} } }

CustomEnum.java

最新文章

  1. python走起之第十五话
  2. Laravel 5 数据库迁移文件示例
  3. PowerPoint Office Mix 插件
  4. 【《Objective-C基础教程 》笔记ch05】(六)OC中的复合机制Composition
  5. HDOJ 2072 单词数
  6. BZOJ 1483: [HNOI2009]梦幻布丁( 链表 + 启发式合并 )
  7. IOS开发之路三(XML解析之GDataXML的使用)
  8. 在Android Studio上测试运行,Unity发布成Android包过程中所遇到的问题及解决方案
  9. 【笔记】php常用函数
  10. 章节九、1-Selenium环境配置
  11. gitlab-ci + k8s 之docker (三)
  12. css与html 与js的基础语法
  13. oracle ASM安装过程中UDEV实现磁盘绑定
  14. MyBatis两张表字段名相同产生的问题
  15. Yii2.0 高级模版编写使用自定义组件(component)
  16. Tensorflow框架初尝试————搭建卷积神经网络做MNIST问题
  17. MySQL 5.6 for Windows 解压缩版配置安装(转载)
  18. flannel源码分析---backend为vxlan
  19. FZU 1921——栀子花开——————【线段树单点更新】
  20. 区域可编辑contenteditable的问题总结

热门文章

  1. c# 图文添加文字斜水印 优化
  2. element随笔
  3. Nginx笔记一
  4. python之atexit模块的使用
  5. 第三章、前端之JavaScript
  6. 发送短信——java
  7. maskrcnn-benchmark训练自己数据
  8. ini文件读写 保存上次存储内容
  9. 说一下 HashSet 的实现原理?(未完成)
  10. python_推导式