2024年大数据最全凯哥带你从零学大数据系列之Java篇---第十一章 枚举,大数据开发开发者必须收藏的8个开源库

本文讨论了如何避免在网上学习时知识碎片化的困扰,强调了系统化学习的重要性,并介绍了Java枚举的定义、使用和其在编程中的作用。同时,文中提倡加入技术交流圈子,共同学习成长,提供学习资源和职业发展支持。
摘要由CSDN通过智能技术生成

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

11.1. 枚举的简介

11.1.1. 枚举的概念

枚举也是一种自定义的数据类型, 是一个引用数据类型。 枚举经常用来被描述一些取值范围有限的数据。

例如:

  • 性别: 只有两个值, 此时可以用枚举来表示
  • 月份: 只有12个值, 此时可以用枚举来表示
  • 星期: 只有七个值, 此时可以用枚举来表示

11.2. 枚举的基本定义和使用

11.2.1. 枚举的定义

定义枚举类型, 需要使用到关键字 enum 。 枚举的名字是一个标识符, 遵循大驼峰命名法。

/**
 * @Description   枚举的定义
 */
public enum Gender {
    // 将这个枚举对象所有可能取到的值, 都列出来
    // 枚举中的元素, 也是标识符, 遵循大驼峰命名法
    Male, Female
}
public enum Month {
    Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec
}
public enum Week {
    Mon, Tue, Wed, Thu, Fri, Sat, Sun
}
11.2.2. 枚举的使用

枚举是一种自定义的数据类型, 可以声明变量。 在使用的时候, 直接使用枚举类型.枚举值这样的形式进行枚举值的获取。

/**
 * @Description   枚举的使用
 */
public class Test {
    public static void main(String[] args) {
        // 枚举的使用
        Gender gender1 = Gender.Male;
        Gender gender2 = Gender.Female;

        Month m1 = Month.Jan;
        Month m2 = Month.Nov;

        Week week1 = Week.Sat;
    }
}

11.3. 枚举中的成员定义

11.3.1. 枚举的分析

枚举,其实可以认为是Object类的一个最终子类。 不能被其他的类、枚举继承。

/**
 * @Description  枚举的使用
 */
public class EnumTest {
    public static void main(String[] args) {
        // 1. 获取一个枚举对象
        Gender gender = Gender.Male;
        // 1.1. 证明方式1: 枚举对象,可以调用Object类中的方法,说明这些方法是从Object类中继承到的。
        String str = gender.toString();
        // 1.2. 证明方式2: 可以向上转型为 Object 类型。
        Object obj = gender;
    }
}
enum Gender {
    Male, Female
}

11.3.2. 枚举中的属性定义

/**
 * @Description    枚举的属性定义
 */
public enum Gender {
    Male, Female;
    // 1. 在枚举中定义属性、方法、构造方法... 是需要写在枚举元素的下方!
    //    如果需要在枚举中定义成员,需要在最后一个枚举元素后面添加一个分号。
    public String desc;
}
11.3.3. 枚举中的构造方法定义
/**
 * @Description   枚举的构造方法定义
 */
public class Test2 {
    // 为了防止和当前包中的Gender枚举重复,在这里写成了静态内部枚举
    private static enum Gender {
        // 其实,所谓枚举中的元素,其实就是一个静态的、当前类的对象。
        Male("男"), Female("女");
        // 添加属性
        private String desc;
        // 添加构造方法,为这个属性赋值
        // 在枚举中定义构造方法,一般情况下,只是在当前的枚举中使用
        // 所以,枚举的构造方法,一般情况下,权限都是私有的
        Gender(String desc) {
            this.desc = desc;
        }
    }
    public static void main(String[] args) {
        // 1. 枚举对象的获取
        Gender gender = Gender.Male;
    }
}
11.3.4. 枚举中的方法定义
/**
 * @Description   枚举的方法定义
 */
public enum Gender {
    Male, Female;
    // 1. 在枚举中定义属性、方法、构造方法... 是需要写在枚举元素的下方!
    //    如果需要在枚举中定义成员,需要在最后一个枚举元素后面添加一个分号。
    public String desc;



![img](https://img-blog.csdnimg.cn/img_convert/76d29a7f4a6db2603a6a7498f30e7a0b.png)
![img](https://img-blog.csdnimg.cn/img_convert/815df7e186e9d5541109f2f445d85e59.png)

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618545628)**


**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

技术提升。**

**[需要这份系统化资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618545628)**


**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值