Java Enum 枚举的简单使用
一、什么是枚举
值类型的一种特殊形式,它从 System.Enum 继承,并为基础基元类型的值提供备用名称。枚举类型有名称、基础类型和一组字段。基础类型必须是一个内置的有符号(或无符号)整数类型(如 Byte、Int32 或 UInt64)。字段是静态文本字段,其中的每一个字段都表示常数。所使用的语言给每个字段都分配一个基础类型的特定值。JDK1.5引入了新的类型——枚举。在 Java 中它虽然算个“小”功能,却给我的开发带来了“大”方便。
二、枚举的使用
1、枚举的定义和简单访问
package com.test;
public class EnumProgram {
//获得枚举的常量
Signal number = Signal.FOUR;
int n = 0;
//定义一个方法
public void calculation(){
switch (number){
case ONE:
n=1;
break;
case TWO:
n=2;
break;
case Three:
n=3;
break;
case FOUR:
n=4;
break;
}
}
public static void main(String[] args) {
EnumProgram en = new EnumProgram();
System.out.println(en.n);
en.calculation();
System.out.println(en.n);
System.out.println(Signal.Three);
}
}
//创建一个枚举,里面放了 ONE,TWO,Three,FOUR 四个常量
enum Signal{
ONE,TWO,Three,FOUR
}
结果:

2、向枚举中添加方法
package com.test;
public class EnumProgram {
public static void main(String[] args) {
//使用
System.out.println(Color.BULE.getName());
System.out.println(Color.BULE.getIndex());
System.out.println(Color.getColorName(1));
System.out.println(Color.getColorIndex("绿色"));
}
}
//创建一个枚举
enum Color{
RED("红色",1),BULE("蓝色",2),GREEN("绿色",3),WHITE("白色",4);
private String name;
private int index;
//构造函数
private Color(String name,int index){
this.name=name;
this.index=index;
}
//枚举方法
public static String getColorName(int index){
for(Color c : Color.values()){
if(c.getIndex()==index){
return c.getName();
}
}
return null;
}
//枚举方法
public static int getColorIndex(String name){
for(Color c : Color.values()){
if(c.getName()==name){
return c.getIndex();
}
}
return -1;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getIndex() {
return index;
}
public void setIndex(int index) {
this.index = index;
}
}
结果:

package com.test;
public class EnumProgram {
public static void main(String[] args) {
//使用
Color.BULE.print();
}
}
//定义一个接口
interface FunRea{
void print(); //定义一个方法
}
//创建一个枚举,继承接口
enum Color implements FunRea{
RED("红色",1),BULE("蓝色",2),GREEN("绿色",3),WHITE("白色",4);
private String name;
private int index;
//构造函数
private Color(String name,int index){
this.name=name;
this.index=index;
}
//实现接口的方法
@Override
public void print() {
System.out.println(this.name+" : "+this.index);
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getIndex() {
return index;
}
public void setIndex(int index) {
this.index = index;
}
}
结果:

Java Enum 枚举的简单使用的更多相关文章
- 简单认识java enum枚举
什么是枚举 枚举是java5中新增的特性,他是一个特殊的数据类型,他的特殊性在于他既是一种类类型,又比类类型多了安全性,简洁性,便捷性.java枚举类型是功能十分强大齐全的类,功能比其他语言中的对等物 ...
- Java enum枚举类型
java的枚举类型详解: 简单示例: public enum Color{ RED,BLUE,BLACK,YELLOW,GREEN } 复杂示例(带自定义构造方法与类型) public enum En ...
- (转)java enum枚举
转载自: 原理:http://singleant.iteye.com/blog/686349 应用:http://www.cnblogs.com/happyPawpaw/archive/2013/04 ...
- Java Enum枚举的用法(转)
说明:Java的枚举比dotnet的枚举好用,至少支持的方式有很多. 用法一:常量 在JDK1.5 之前,我们定义常量都是: public static fianl.... .现在好了,有了枚举,可以 ...
- 161208、Java enum 枚举还可以这么用
在大部分编程语言中,枚举类型都会是一种常用而又必不可少的数据类型,Java中当然也不会例外.然而,Java中的Enum枚举类型却有着许多你意想不到的用法,下面让我们一起来看看. 先来看一段代码示例: ...
- Java Enum枚举 遍历判断 四种方式(包括 Lambda 表达式过滤)
示例代码如下: package com.miracle.luna.lambda; import java.util.Arrays; /** * @Author Miracle Luna * @Date ...
- Java enum(枚举)的用法详解(转)
用法一:常量 在JDK1.5 之前,我们定义常量都是: public static fianl.... .现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法. p ...
- Java enum枚举在实际项目中的常用方法
在项目实际开发过程中,经常会遇到对某些固定的值.字典项的定义的需求,很多项目经常使用常量来定义,其实在jdk1.5就已经引入了枚举,使用枚举可以更好的解决这类需求,本文主要记录枚举的优势以及经常在项目 ...
- java enum(枚举)的使用
在实际编程中,往往存在着这样的“数据集”,它们的数值在程序中是稳定的,而且“数据集”中的元素是有限的. 例如星期一到星期日七个数据元素组成了一周的“数据集”,春夏秋冬四个数据元素组成了四季的“数据集” ...
随机推荐
- 第二季第八天 HTML5新特性
在函数内部window.a = a 在全局中就可以拿到这个变量 变量命名.作为函数的参数的时候要详细.调用的时候可以简单点 做全局变量的两个方案 1.绑在标签上data 2.闭包 视频一般都是二进 ...
- ZJNU 2206 - 染色
开纵横两个结构体数组,记录连续涂了一整行或者一整列的情况 再开一个map,记录涂点 #include<iostream> #include<algorithm> #includ ...
- JavaSE--RMI初识
转自:http://blog.csdn.net/guyuealian/article/details/51992182 一.Java RMI机制: 远程方法调用RMI(Remote Me ...
- Linux-进程关系
(1).无关系 (2).父子进程关系 (3).进程组(group):由若干个进程构成一个进程组 (4).会话(session):由若干个进程组构成一个会话
- Dynamics CRM - 为 sub-grid 添加 OnChange 事件
目的: 有的时候我们需要对 sub-grid 内容进行监控,比如在 sub-grid 上添加.删除了一条记录后,要对 Form 上的某个字段值进行更新. 解决方案: 对 sub-grid 添加一个 O ...
- AOP统一处理修改人、创建人、修改时间、创建时间
1.配置拦截 首先开启 <aop:aspectj-autoproxy proxy-target-class="true"/>代理.解释一下下面..的意思是多个 < ...
- elementUI的select全选
elementUI中的el-select全选 <template> <el-select class="handle-select" size="min ...
- GPIO口的脚本配置之——全志H3script.bin
此脚本的作用之一是配置GPIO的默认状态: 如:功能,内部电阻状态,驱动能力等. 1.但是直接打开script.bin 文件则会出现乱码,那么我们怎么才可以打开并更改该脚本的配置呢? 在路径uboot ...
- CI_CD(jenkins)公司实战_未完成版
环境准备 #三台服务器,不同的ip centos 镜像时:CentOS Linux release 7.6.1810 (Core) gitlab-ce 版本是:11.11.3 jenkins ...
- android studio 通过界面快速查看md5
https://www.jianshu.com/p/989c0be557f0