java枚举详解
2024-10-07 10:16:51
枚举的本质是类,枚举是用来构建常量数据结构的模板(初学者可以以此方式理解: public static final X=xxx),枚举的使用增强了程序的健壮性,在引用一个不存在的枚举值的时候,编译器会报错。
案例1:
public enum Grade {
A,B,C,D
}
public class Test {
public static void main(String[] args) {
System.out.println(Grade.A);
System.out.println(Grade.B);
System.out.println(Grade.C);
System.out.println(Grade.D);
}
}
结果输出:
A B C D
案例2:
public enum Grade {
A("81-100"),B("71-80"),C("61-70"),D("0-60");
private String value;
private Grade(String value){
this.value=value;
}
public String getValue(){
return this.value;
}
}
public class Test {
public static void main(String[] args) {
System.out.println(Grade.A);
System.out.println(Grade.A.getValue());
System.out.println(Grade.B);
System.out.println(Grade.B.getValue());
System.out.println(Grade.C);
System.out.println(Grade.C.getValue());
System.out.println(Grade.D);
System.out.println(Grade.D.getValue());
}
}
结果:
A 81-100 B 71-80 C 61-70 D 0-60
案例3:
public enum Grade { A("81-100") {
@Override
public String toLocalString() {
return "优";
}
},B("71-80") {
@Override
public String toLocalString() {
return "良";
}
},C("61-70") {
@Override
public String toLocalString() {
return "中";
}
},D("0-60") {
@Override
public String toLocalString() {
return "差";
}
}; private String value; private Grade(String value){
this.value=value;
} public String getValue(){
return this.value;
} public abstract String toLocalString();
}
public class Test { public static void main(String[] args) { System.out.println(Grade.A);
System.out.println(Grade.A.getValue());
System.out.println(Grade.A.toLocalString());
System.out.println(Grade.B);
System.out.println(Grade.B.getValue());
System.out.println(Grade.B.toLocalString());
System.out.println(Grade.C);
System.out.println(Grade.C.getValue());
System.out.println(Grade.C.toLocalString());
System.out.println(Grade.D);
System.out.println(Grade.D.getValue());
System.out.println(Grade.D.toLocalString()); } }
结果:
A 81-100 优 B 71-80 良 C 61-70 中 D 0-60 差
最新文章
- iscroll.js 下拉刷新和上拉加载
- iOS 真机调试不能连接网络的排错过程
- android开发-小技巧篇(集合)
- hive odbc
- 设置Android studio黑色主题
- hdu 2035
- ws318 配置
- ERWin &; ERStudio图里的实线和虚线的含义[转]
- Sqoop导入MySQL数据
- hive-0.12升级成hive 0.13.1
- cookie随便写的一点笔记(抄书的)
- Linq 两个集合模糊查询
- Codeforces Round #336 (Div. 2) D. Zuma
- nodejs and db
- 【转】 U3D DrawCall优化手记 - 夜阑卧听风吹雨
- 【Javaweb】笔面试题 ---(1)
- ios随机数不重复
- HTTP协议7之Cookie--转
- Django的认证系统
- 纪念使用FTPClient工具所遇到的
热门文章
- shell脚本中oldIFS=$IFS
- 基于VUE多人聊天项目
- js数值排序中冒泡算法的4种简单实现
- IDEA创建SpringBoot,并实现、运行简单实例
- C文件 CMakeList.txt编译器配置错误的问题 error:invalid conversion from 'int' to 'LAYER_TYPE' [-fpermissive]....
- centos搭建lamp环境参考(根据腾讯云实验室)
- Error:MySQLAdministrator无法连接到实例
- 解决Eclipse中文字体横着显示的问题
- 「HNOI2016」矿区
- Minimum Cut