网站首页 > 精选教程 正文
Java枚举是一个特殊的类,一般就表示一组常量,在生活中也可以拿例子来解释Java枚举,比如一周有七天,一年有十二个月,人的性别只有男和女等。今天小编将为大家带来大数据编程入门:Java枚举这篇文章来详细介绍Java枚举的用法。
一、Java枚举的简单入门
Java枚举类一般使用enum关键字来定义,各个常量被用以逗号来分割。
比如定义一个心情的枚举类。
enum Mood
{
Happy,Sad,Excite;
}
在上面的枚举类Mood心情常量有Happy、Sad、Excite,分别表示开心、伤心、激动。
使用实例:
enum Mood
{
Happy,Sad,Excite;
}
public class Test
{
// 执行输出结果
public static void main(String[] args)
{
Mood m1 = Mood.Happy;
System.out.println(m1);
}
}
输出结果为:Happy
二、内部类中使用枚举
枚举类也可以声明在内部类中:
public class Test
{
enum Mood
{
Happy,Sad,Excite;
}
// 执行输出结果
public static void main(String[] args)
{
Mood m1 = Mood.Happy;
System.out.println(m1);
}
}
输出结果为:
每个枚举都是通过Class在内部实现的,所有枚举值都是 public static final的。
以上的枚举类Mood转化在内部类实现:
class Mood
{
public static final Mood Happy = new Mood();
public static final Mood Sad= new Mood();
public static final Mood Excite = new Mood();
}
三、迭代枚举元素
可以使用for语句迭代枚举元素:
实例:
enum Mood
{
Happy,Sad,Excite;
}
public class MyClass {
public static void main(String[] args) {
for (Mood myVar : Mood.values()) {
System.out.println(myVar);
}
}
}
运行结果:
四、在 switch 中使用枚举类
枚举类通常用于switch语句,比如:
enum Mood
{
Happy,Sad,Excite;
}
public class MyClass {
public static void main(String[] args) {
Mood myVar = Mood.Sad;
switch(myVar) {
case Happy:
System.out.println("开心");
break;
case Sad:
System.out.println("伤心");
break;
case Excite:
System.out.println("激动");
break;
}
}
}
运行结果:
五、values(), ordinal() 和 valueOf() 方法
enum定义的枚举类默认继承Java.lang.Enum类,实现java.lang.serializable和java.lang.compatible接口。
values()、order()和valueof()方法位于java.lang.Enum类中:
Values()返回枚举类中的所有值。
order()方法可以找到每个枚举常量的索引,就像数组索引一样。
valueOf()方法返回指定字符串值的枚举常量。
实例:
enum Mood
{
Happy,Sad,Excite;
}
public class Test
{
public static void main(String[] args)
{
// 调用 values()
Mood[] arr = Mood.values();
// 迭代枚举
for (Mood Moo : arr)
{
// 查看索引
System.out.println(Moo + " at index " + Moo.ordinal());
}
// 使用 valueOf() 返回枚举常量,不存在的会报错 IllegalArgumentException
System.out.println(Mood.valueOf("Happy"));
// System.out.println(Mood.valueOf("WHITE"));
}
}
运行结果:
六、枚举类成员
与普通类一样,枚举可以使用自己的变量、方法和构造函数,构造函数只能使用私有访问修饰符,因此不能在外部调用它们。
枚举可以包含具体和抽象的方法,如果枚举类具有抽象方法,枚举类的每个实例都必须实现它。
实例:
enum Mood
{
Happy,Sad,Excite;
// 构造函数
private Mood()
{
System.out.println("Constructor called for : " + this.toString());
}
public void MoodInfo()
{
System.out.println("Universal Mood");
}
}
public class Test
{
// 输出
public static void main(String[] args)
{
Mood m1 = Mood.Happy;
System.out.println(m1);
m1.MoodInfo();
}
}
运行结果:
以上就是关于大数据编程入门:Java枚举的全部内容了,希望这篇文章可以帮助到大家~
- 上一篇: Java编程新范式:用枚举实现接口定义的行为
- 下一篇: Java开发工程师高质量代码必备:枚举类
猜你喜欢
- 2024-11-09 Java基础入门要学哪些 怎么掌握反射和枚举
- 2024-11-09 谈谈枚举的新用法--java java枚举类型有什么用
- 2024-11-09 Java面试基础回顾16-枚举 java面试基础知识点
- 2024-11-09 实际工作中推荐使用java枚举类型,提高开发效率#编程
- 2024-11-09 java枚举enumeration java枚举根据value获取key
- 2024-11-09 大年初二来简单聊聊java中枚举类的前世今生
- 2024-11-09 如何用枚举消除if/else?-枚举高阶用法
- 2024-11-09 干货 | 一文搞定Python 枚举 python 枚举遍历
- 2024-11-09 Scala学习九之枚举和Trait了解 枚举compareto
- 2024-11-09 java中的enum第一期:enum存在的意义
你 发表评论:
欢迎- 04-11Java面试“字符串三兄弟”String、StringBuilder、StringBuffer
- 04-11Java中你知道几种从字符串中找指定的字符的数量
- 04-11探秘Java面试中问的最多的String、StringBuffer、StringBuilder
- 04-11Python字符串详解与示例(python字符串的常见操作)
- 04-11java正则-取出指定字符串之间的内容
- 04-11String s1 = new String("abc");这句话创建了几个字符串对象?
- 04-11java判断字符串中是否包含某个字符
- 04-11关于java开发中正确的发牌逻辑编写规范
- 最近发表
-
- Java面试“字符串三兄弟”String、StringBuilder、StringBuffer
- Java中你知道几种从字符串中找指定的字符的数量
- 探秘Java面试中问的最多的String、StringBuffer、StringBuilder
- Python字符串详解与示例(python字符串的常见操作)
- java正则-取出指定字符串之间的内容
- String s1 = new String("abc");这句话创建了几个字符串对象?
- java判断字符串中是否包含某个字符
- 关于java开发中正确的发牌逻辑编写规范
- windows、linux如何后台运行jar(并且显示进程名)
- 腾讯大佬私人收藏,GitHub上最受欢迎的100个JAVA库,值得学习
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)