java枚举详解
枚举的本质是类,枚举是用来构建常量数据结构的模板(初学者可以以此方式理解: 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 差
java枚举详解的更多相关文章
- Java 枚举详解
为什么要用枚举 在博客系统中,一篇文章有且可能有这几种状态, 数据库中article文章表中state字段存储数值,表示其状态: 0(已发表Published) 1(草稿Draft) 2(撤回撤回(D ...
- Java Annotation详解 理解和使用Annotation
系统中用到了java注解: 查了一下如何使用注解,到底注解是什么: (1)创建方法:MsgTrace Java Class==> 在Create New Class中: name:输入MsgTr ...
- Java IO 详解
Java IO 详解 初学java,一直搞不懂java里面的io关系,在网上找了很多大多都是给个结构图草草描述也看的不是很懂.而且没有结合到java7 的最新技术,所以自己来整理一下,有错的话请指正, ...
- java关键字(详解)
目录 1. 基本类型 1) boolean 布尔型 2) byte 字节型 3) char 字符型 4) double 双精度 5) float 浮点 6) int 整型 7) long 长整型 8) ...
- Java集合详解3:Iterator,fail-fast机制与比较器
Java集合详解3:Iterator,fail-fast机制与比较器 今天我们来探索一下LIterator,fail-fast机制与比较器的源码. 具体代码在我的GitHub中可以找到 https:/ ...
- Java集合详解3:一文读懂Iterator,fail-fast机制与比较器
<Java集合详解系列>是我在完成夯实Java基础篇的系列博客后准备开始写的新系列. 这些文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查 ...
- Java集合详解1:一文读懂ArrayList,Vector与Stack使用方法和实现原理
本文非常详尽地介绍了Java中的三个集合类 ArrayList,Vector与Stack <Java集合详解系列>是我在完成夯实Java基础篇的系列博客后准备开始写的新系列. 这些文章将整 ...
- 9种Java单例模式详解(推荐)
单例模式的特点 一个类只允许产生一个实例化对象. 单例类构造方法私有化,不允许外部创建对象. 单例类向外提供静态方法,调用方法返回内部创建的实例化对象. 懒汉式(线程不安全) 其主要表现在单例类在外 ...
- Java内部类详解
Java内部类详解 说起内部类这个词,想必很多人都不陌生,但是又会觉得不熟悉.原因是平时编写代码时可能用到的场景不多,用得最多的是在有事件监听的情况下,并且即使用到也很少去总结内部类的用法.今天我们就 ...
随机推荐
- 搭建DHCP服务实现动态分配IP地址-NTP网络时间同步
本节所讲内容: DHCP服务器工作原理 使用DHCP为局域网中的机器分配IP地址 使用DHCP为服务器分配固定IP地址 ntpdate加计划任务同步服务器时间 实验环境: 服务端:xuegod63 ...
- python-类对象的比较
#类对象的比较 class Person: def __init__(self,age,height): self.age=age self.height=height def __eq__(self ...
- Kibana后台进程启动和关闭
原创转载请注明出处:https://www.cnblogs.com/agilestyle/p/12073202.html 后台启动Kibana ./bin/kibana & 查找Kibana进 ...
- react native之封装离线缓存框架
请求数据=>本地有无缓存+缓存数据是否过期 =>可用 =>不可用 将代码封装成一个DataStore.js文件, 这里面主要提供:从本地获取数据,从网络获取数据,创建本地时间戳,请求 ...
- asp.net能否上传文件夹下所有文件
HTML部分 <%@PageLanguage="C#"AutoEventWireup="true"CodeBehind="index.aspx. ...
- HDU 1002 A - A + B Problem II (大数问题)
原题代号:HDU 1002 原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=1002 原题描述: Problem Description I have a ...
- android平台上AES,DES加解密及问题
在使用java进行AES加密的时候,会用到如下方法: SecureRandom sr = SecureRandom.getInstance("SHA1PRNG"); 但是在andr ...
- [BZOJ2822]:[AHOI2012]树屋阶梯(卡特兰数)
题目传送门 题目描述 暑假期间,小龙报名了一个模拟野外生存作战训练班来锻炼体魄,训练的第一个晚上,教官就给他们出了个难题.由于地上露营湿气重,必须选择在高处的树屋露营.小龙分配的树屋建立在一颗高度为N ...
- 原生javascript兼容性总结
1.addEventListener() :方法用于向指定元素添加事件句柄.// Internet Explorer 8 及更早IE版本不支持,Opera 7.0 及 Opera 更早版本也不支持. ...
- 对象数组(JSON) 根据某个共同字段 分组
1.在前端页面用js处理 转载https://www.cnblogs.com/rysinal/p/5834446.html 为了第二种方法对比,特意把id 转化为pid var arr = [ {&q ...