概述
文章目录
- 一、介绍
- 二、代码实现
- 1、创建
- 1、不带属性的枚举
- 2、一个属性的枚举
- 3、多个属性的枚举
- 2、构造函数
- 3、枚举
- 4、枚举实现的接口
- 5、枚举值名称
- 6、toString
- 7、构建枚举
- 8、遍历
- 9、枚举索引
- 10、比较
一、介绍
- 枚举类型是Java5中新增特性的一部分,它是一种特殊的数据类型,之所以特殊是因为它既是一种类(class)类型却又比类类型多了些特殊的约束
- 它一般用来保存一组常量:一年4个季节、一年的12个月、一周7天、东南西北方向
- 元注解属性经常使用,因为要限制参数只能是枚举中的一个
二、代码实现
1、创建
1、不带属性的枚举
public enum Color {
RED,
GREEN,
BLUE;
}
System.err.println(Color.BLUE); //BLUE
2、一个属性的枚举
public enum DeleteStatus {
//定义枚举值:枚举中定义了一个属性,并且提供了构造方法,定义枚举就是使用构造方法创建一个包含status属性的枚举值
NOT_DELETE("0"),
DELETED("1");
//属性
private String status;
//构造方法:访问控制修饰符只能private,缺省=private,仅本类枚举值可以使用
DeleteStatus(String status){
thisstatus=status;
}
//获取枚举值的status属性值的get方法
//String DeleteStatus.NOT_DELETE.getStatus() //"0"
//我们常常存的是枚举的属性值0,而并非枚举NOT_DELETE
public String getlStatus(){
return status;
}
/**
* 通过枚举属性值获取对应枚举
* 在用switch做判断时case必须是常量,枚举的属性DeleteStatus.DELETE.getStatus(),并非常量,无法使用switch做判断,根据属性值先转成对应的枚举,case中使用枚举做比较
*
* @param status
* @return
*/
public static DeleteStatus getByStatus(String status){
for(DeleteStatus deleteStatus:values()){
if(deleteStatus.getStatus().equals(status)){
return deleteStatus;
}
}
return null;
}
//switch (DeleteStatus getByStatus(status)){
// case DELETE:
//}
3、多个属性的枚举
public enum HandleStatus {
//枚举
NOT_PASS("1","通过"),
PASS("1","通过");
//属性
private String handleResult;
private String comment;
//构造方法
HandleStatus(String handleResult,String comment){
this.handleResult=handleResult;
this.comment=comment;
}
//get方法
public String getHandleResult(){
return handleResult;
}
public String getComment(){
return comment;
}
/**
* 根据一个属性返回另一个属性
*
* @param handleResult
* @return
*/
public static String getCommentByResult(String handleResult){
for(HandleStatus bean:values()){
if(bean.getHandleResult().equals(handleResult)){
return bean.getComment();
}
}
return null;
}
}
2、构造函数
- 只能、默认private,只能枚举值使用
3、枚举
- 所有枚举值默认都是
public
、static
、final
的
4、枚举实现的接口
- Enum默认实现了
java.lang.Comparable
接口
5、枚举值名称
//name()
String name=Color.BLUE.name(); //"BLUE"
6、toString
String str=Color.BLUE.toString(); //"BLUE"
7、构建枚举
- 方法返回指定字符串值的枚举常量,这个方法和
toString
方法是相对应的
//不存在则异常 IllegalArgumentException
Color blue=Color.valueOf(“BLUE”); //BLUE
8、遍历
//返回所有的枚举值,数组
//enum[] values()
Color colors[]=Color.values();
9、枚举索引
//可以找到每个枚举常量的索引,从0开始
for (Color color : values()){
//RED : 0
System.out.println(color + " : " + color.ordinal());
}
10、比较
Color c1=Color.BLUE;
Color c2=Color.BLUE;
//都可以判断相等,都=true
c1==c2、c1.equals(c2)
最后
以上就是年轻小霸王为你收集整理的java的enum枚举一、介绍二、代码实现的全部内容,希望文章能够帮你解决java的enum枚举一、介绍二、代码实现所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复