枚举(枚举应用)|学习笔记

简介: 快速学习 枚举(枚举应用)

开发者学堂课程【【名师课堂】Java 高级开发枚举(枚举应用)  】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/372/detail/4544


枚举(枚举应用)  


目录

一、 概念

二、 范例

三、 总结

 

一、 概念

枚举最大的特点是只有指定的几个对象可以使用。做一个最简单的应用,定义一个表示性别的枚举类,很明显只能有两个对象。

 

二、范例:实现如下

package cn.mldn.demo;

class Person {

private String name ;

private int age ;

private Sex sex;

public Person(String name,int age,Sex sex) {

this.name = name ;

this.age = age ;

this.sex = sex ;

}

@Override

public String tostring( )  {

return"Person [ name=” + name + ” , age = ” + age + ” , sex=” + sex + ” ] “xi

}

}

enum Sex {

MALE("男") , FEMALE("女");

private String title

private Sex(Stringtitle) {

this.title = title ;

}

public String toString() {

return this.title ;

}

public class TestDemo

此时写完后在底下设置为:

Public static void main (String [ ] args)  {

Person per  = new Person(“张三”,20,sex,MALE)

System.out.println(per);

出现可选值:

Person(“张三”,20,sex=男)

这实际上就是多例,而多例就是几个可选对象而已

另外需要注意的是,枚举本身还支持 switch 判断,也就是说 switch 按照时间进度来讲,最初只支持 int 和 char,到了 JDK1.5 的时候支持了枚举,到了 JDK1.7 的时候支持了 String。

如何支持 String,如下显示:

package cn.mldn.demo;

enum Sex {

MALE, FEMALE ;

}

public class TestDemo {

public static void main(String[ ] args)  {

switch(Sex.MALE) (

case MALE

System.out.println("是男人")

break ;

case FEMALE :

System.out.println("是女人");

break ;

代码结果:是男人

实际上,不使用枚举所有代码也可以写,是否使用凭个人习惯。

 

三、总结

由于枚举在 Java 中出现过晚,所以大部分人还不习惯使用,但是在整个 JDK 里面,为了更好的去应用技术,所以在 JDK 文档原代码中也会出现枚举,能看懂即可。

相关文章
|
程序员 开发者
IDEA插件-Grep Console彩色控制台
IDEA插件-Grep Console是一款用于增强IDEA开发环境的工具,它可以帮助开发者更好地搜索和过滤控制台输出。
1427 0
IDEA插件-Grep Console彩色控制台
|
10月前
|
缓存 Java 测试技术
分享干货:idea常用快捷键分类总结(适合速查~~建议收藏♥)
本文以分类的形式总结了IDEA常用、好用快捷键,全是干货~
2569 1
分享干货:idea常用快捷键分类总结(适合速查~~建议收藏♥)
|
存储 Java 开发工具
【三方服务集成】最新版 | 阿里云OSS对象存储服务使用教程(包含OSS工具类优化、自定义阿里云OSS服务starter)
阿里云OSS(Object Storage Service)是一种安全、可靠且成本低廉的云存储服务,支持海量数据存储。用户可通过网络轻松存储和访问各类文件,如文本、图片、音频和视频等。使用OSS后,项目中的文件上传业务无需在服务器本地磁盘存储文件,而是直接上传至OSS,由其管理和保障数据安全。此外,介绍了OSS服务的开通流程、Bucket创建、AccessKey配置及环境变量设置,并提供了Java SDK示例代码,帮助用户快速上手。最后,展示了如何通过自定义starter简化工具类集成,实现便捷的文件上传功能。
2827 7
【三方服务集成】最新版 | 阿里云OSS对象存储服务使用教程(包含OSS工具类优化、自定义阿里云OSS服务starter)
|
Java API 对象存储
Spring揭秘:AnnotationMetadata接口应用场景及实现原理!
AnnotationMetadata接口可以轻松获取类、方法或字段上的注解信息,简化注解处理,提供一致且灵活的访问方式,支持运行时处理,让开发者能更专注于业务逻辑而非底层细节,从而加速开发进程。
555 0
Spring揭秘:AnnotationMetadata接口应用场景及实现原理!
|
SQL 数据可视化 关系型数据库
2022年最新最详细IDEA关联数据库方式、在IDEA中进行数据库的可视化操作(包含图解过程)
这篇文章详细介绍了如何在IntelliJ IDEA中关联MySQL数据库,包括打开Database侧边栏、选择数据库、输入连接信息、测试连接,并提供了解决连接问题的方案,以及在IDEA中进行数据库的可视化操作步骤。
2022年最新最详细IDEA关联数据库方式、在IDEA中进行数据库的可视化操作(包含图解过程)
|
SQL XML Java
MyBatis 初探,使用 MyBatis 简化数据库操作(超详细)
MyBatis 的源码相对于 Spring 来说更为简单,因此并没有花费太多的时间。本篇作为 MyBatis 的入门篇,
524 0
|
4天前
|
存储 关系型数据库 分布式数据库
PostgreSQL 18 发布,快来 PolarDB 尝鲜!
PostgreSQL 18 发布,PolarDB for PostgreSQL 全面兼容。新版本支持异步I/O、UUIDv7、虚拟生成列、逻辑复制增强及OAuth认证,显著提升性能与安全。PolarDB-PG 18 支持存算分离架构,融合海量弹性存储与极致计算性能,搭配丰富插件生态,为企业提供高效、稳定、灵活的云数据库解决方案,助力企业数字化转型如虎添翼!
|
15天前
|
弹性计算 关系型数据库 微服务
基于 Docker 与 Kubernetes(K3s)的微服务:阿里云生产环境扩容实践
在微服务架构中,如何实现“稳定扩容”与“成本可控”是企业面临的核心挑战。本文结合 Python FastAPI 微服务实战,详解如何基于阿里云基础设施,利用 Docker 封装服务、K3s 实现容器编排,构建生产级微服务架构。内容涵盖容器构建、集群部署、自动扩缩容、可观测性等关键环节,适配阿里云资源特性与服务生态,助力企业打造低成本、高可靠、易扩展的微服务解决方案。
1311 5