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(枚举)的使用
在实际编程中,往往存在着这样的“数据集”,它们的数值在程序中是稳定的,而且“数据集”中的元素是有限的. 例如星期一到星期日七个数据元素组成了一周的“数据集”,春夏秋冬四个数据元素组成了四季的“数据集” ...
随机推荐
- Struts 2的下载和安装
一.为Web应用增加Struts 2支持 下载和安装Struts 2步骤: 登录http://struts.apache.org/download.cgi站点,下载Struts 2的最新版,下载时有以 ...
- LGOJ1344 追查坏牛奶
Description link 题意概述:给一张图,每条边有边权,求让点 \(1\) 和点 \(n\) 不连通的"最小破坏边权和" 和 "在此基础上的最小破坏边数&qu ...
- java常见的 http 请求库比较
java常见的http请求库有httpclient,RestTemplate,OKhttp,更高层次封装的 feign.retrofit 1.HttpClient HttpClient:代码复杂,还得 ...
- 测试Java程序执行耗费的时间
package test; public class Main { public static void main(String[] args) { long start = System.curre ...
- eclipse创建文件携带作者时间
windows–>preference Java–>Code Style–>Code Templates code–>new Java files 编辑它 ${filecomm ...
- Patroni 修改配置
Patroni 修改配置 背景 使用 Patroni 部署 postgresql 集群的时候,不能单独修改单点的配置,这里需要通过 Patroni 来修改配置. 修改步骤 1. 修改 postgres ...
- cf F. Shovels Shop
https://codeforces.com/contest/1154/problem/F 给定m个折扣 每个折扣的{x,y}的意思是每次购买如果买到确切的x只铲子就其中的最便宜的y只铲子免付: 先贪 ...
- LeetCode No.148,149,150
No.148 SortList 排序链表 题目 在 O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序. 示例 输入: 4->2->1->3 输出: 1->2 ...
- Java实现生产与消费(完美注释版)
/** * 2019年8月8日17:42:23 * 目的:Java多线程实现生产与消费 * @author 张涛 * * 多态: * 一个父类的引用既可以指向父类对象 * 也可以指向子类对象 * 它会 ...
- js中使用EL表达式总结
1.js中使用el表达式要加双引号或单引号:'${list}' 2.js变量获取el表达式中的对象:不能直接获取,直接获取得到的是该对象的toString值. 有两种方法:一:el中直接写对象的属性v ...