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内部类详解 说起内部类这个词,想必很多人都不陌生,但是又会觉得不熟悉.原因是平时编写代码时可能用到的场景不多,用得最多的是在有事件监听的情况下,并且即使用到也很少去总结内部类的用法.今天我们就 ...
随机推荐
- 10年前文章_respin 下制作iso 文件的脚本说明
1.prepare_spin.sh 用于在 /var/rpm 下生成 lhs-local 需要的repositery 2.respin.sh 使用revisor 生成 iso 3. post_spi ...
- linux运维、架构之路-jumpserver
一.jumpserver介绍 是一款由python编写开源的跳板机(堡垒机)系统,实现了跳板机应有的功能.基于ssh协议来管理,客户端无需安装agent. 特点: 完全开源,GPL ...
- 开发工具Intellij IDEA:面板介绍
一.面板说明 IDEA面板的全貌如下图 2|0 二.菜单栏 下面会简单介绍下一些常用的部分菜单使用,如有疑问或补充欢迎留言. (1).File文件 1. New:新建一个工程 可以新建project, ...
- 黑客代码HTML
Crash firefox, chrome, safari browsers, and also restart iPhone using this javascript code. #dos #0d ...
- Codeforces 864E - Fire(dp)
原题连接:http://codeforces.com/problemset/problem/864/E 题意:一个人想从大火中带走一些东西.每次他只能带一个,耗时ti ,价值为pi, 当总时间超过di ...
- 数位dp进阶(hdu2089,3652)
之前的文章已经讲过如何求1—r中的特殊数,这篇博客就来讲些进阶操作: 直接看例题(hdu2089): (题目是中文的我就不写大意了) 这题与hdu3555最大的区别就是规定了l,不再以1开始: 解决这 ...
- 【Java】SpringBoot整合RabbitMQ
介绍 RabbitMQ 即一个消息队列,主要是用来实现应用程序的异步和解耦,同时也能起到消息缓冲,消息分发的作用. RabbitMQ是实现AMQP(高级消息队列协议)的消息中间件的一种,AMQP,即A ...
- 封装通用的 ajax, 基于 jQuery。
在前端异步获取数据时候每次都是使用 ajax:为了通用性更好,然而封装通用的 ajax 是一个一劳永逸的办法. 本次基于 jQuery 封装实现: 第一步: 引入 jQuery: <script ...
- A - Biorhythms (第三周)
A - Biorhythms 链接:https://vjudge.net/contest/154063#problem Description 人生来就有三个生理周期,分别为体力.感情和智力周期,它们 ...
- uniapp 之navigateTo:fail page 跳转路径不对
开发uniapp,点击列表跳转详情报错 [system] navigateTo:fail page `/pages/tabBar/index/detail/detail?title=uni-app行业 ...