首页 / JAVA / Java 枚举(enum)类型详解
Java 枚举(enum)类型详解
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java 枚举(enum)类型详解,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2318字,纯文字阅读大概需要4分钟。
内容图文
![Java 枚举(enum)类型详解](/upload/InfoBanner/zyjiaocheng/643/246f0f187ad443c4ab220e5d45460120.jpg)
文章目录
枚举
枚举是 JDK 1.5 中新增的数据类型,取值范围有限,是可以枚举出来的,比如:一周有 7 天,性别有 男、女等。虽然定义类也可以实现,但枚举更简洁、方便。
枚举的定义
没有枚举类型时,定义常量常见的方式如下:
package demo03;
/**
* jdk 1.5 以前,定义常量的方式
*/
public class ColorConstants {
public static final int RED = 1;
public static final int GREEN = 2;
public static final int BLUE = 3;
}
枚举类型:
package demo03;
/**
* 颜色枚举
* 命名规范: 以 Enum 结尾
*/
public enum ColorEnum {
RED,
GREEN,
BLUE
}
深入了解枚举类型
操作枚举类型成员的方法
方法名称 | 具体含义 | 使用方法 |
---|---|---|
values() | 将枚举类型成员以数组的形式返回 | 枚举类型名称.values() |
valueOf() | 将普通字符串转换为枚举实例 | 枚举类型名称.valueOf(“abc”) |
compareTo() | 比较两个枚举对象在定义时的顺序 | 枚举对象.compareTo() |
name() | 获取枚举类型的变量名 | 枚举对象.name() |
ordinal() | 获取枚举类型的变量顺序 | 枚举对象.ordinal() |
ColorEnum02.java:
package demo03;
public enum ColorEnum02 {
RED,
GREEN,
BLUE
}
ColorMain.java:
package demo03;
public class ColorMain {
public static void main(String[] args) {
// 输出 RED 的 "名称"
System.out.println(ColorEnum02.RED.name());
// 输出 RED 的 "顺序"
System.out.println(ColorEnum02.RED.ordinal());
// 依次和 GREEN 比较在 ColorEnum 中枚举的顺序
for (ColorEnum02 item : ColorEnum02.values()
) {
System.out.println(item.compareTo(ColorEnum02.valueOf("GREEN")));
}
}
}
输出结果:
RED
0
-1
0
1
枚举类型中的构造方法
- 在枚举类型中,是可以添加
构造方法
,但是规定这个构造方法必须为private
修饰符(默认)
ColorEnum.java:
package demo03;
/**
* 颜色枚举
* 命名规范: 以 Enum 结尾
*/
public enum ColorEnum {
RED("红色", 1),
GREEN("绿色", 2),
BLUE("蓝色", 3);
private String name;
private int index;
/**
* @param name 颜色名称
* @param index 索引
* 默认修饰符: private (唯一)
*/
ColorEnum(String name, int index) {
this.name = name;
this.index = 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;
}
}
ColorMain.java:
package demo03;
public class ColorMain {
public static void main(String[] args) {
System.out.println(ColorEnum.RED.getName());
System.out.println(ColorEnum.RED.getIndex());
}
}
输出结果:
红色
1
鱼丸丶粗面
发布了50 篇原创文章 · 获赞 32 · 访问量 4万+
私信
关注
内容总结
以上是互联网集市为您收集整理的Java 枚举(enum)类型详解全部内容,希望文章能够帮你解决Java 枚举(enum)类型详解所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。