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