news 2026/4/30 23:49:39

Java枚举(ENUM)零基础入门指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Java枚举(ENUM)零基础入门指南

快速体验

  1. 打开 InsCode(快马)平台 https://www.inscode.net
  2. 输入框内输入如下内容:
创建一个Java枚举学习示例,适合初学者理解。要求:1.最基本的枚举定义示例 2.枚举带属性和方法示例 3.枚举实现接口示例 4.枚举在switch语句中使用 5.枚举的单例模式实现。以星期枚举为例,包含Monday到Sunday,每个枚举值有中文名称和是否是工作日属性。提供详细注释和简单练习。
  1. 点击'项目生成'按钮,等待项目生成完整后预览效果

今天整理了一份Java枚举(ENUM)的学习笔记,特别适合刚接触这个概念的新手朋友。枚举在Java中是个非常实用的特性,能把相关的常量组织得更有条理,代码也会更清晰安全。

  1. 枚举的基本定义枚举最简单的形式就是列举一组固定的常量。比如我们用星期举例,可以这样定义一个包含周一到周日的枚举:
public enum Weekday { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY }

这样就创建了一个Weekday枚举类型,包含7个枚举值。枚举值通常用大写字母表示,多个值之间用逗号分隔。

  1. 带属性和方法的枚举枚举不仅可以定义常量,还能给每个枚举值添加属性和方法。比如我们给每个星期几加上中文名称和工作日标记:
public enum Weekday { MONDAY("星期一", true), TUESDAY("星期二", true), //...其他星期几 SUNDAY("星期日", false); private String chineseName; private boolean isWorkday; // 构造方法 Weekday(String name, boolean isWorkday) { this.chineseName = name; this.isWorkday = isWorkday; } // getter方法 public String getChineseName() { return chineseName; } public boolean isWorkday() { return isWorkday; } }

这样每个枚举值就都带有中文名称和工作日状态了,可以通过getter方法获取这些属性。

  1. 枚举实现接口枚举还可以实现接口,让枚举类型具备更多行为。比如我们定义一个可打印的接口:
public interface Printable { void print(); } public enum Weekday implements Printable { //...枚举值定义 @Override public void print() { System.out.println(chineseName + (isWorkday ? "是工作日" : "是休息日")); } }

这样每个枚举值都能调用print()方法输出自己的信息。

  1. 枚举在switch中的使用枚举在switch语句中特别好用,能让代码更清晰:
Weekday today = Weekday.MONDAY; switch(today) { case MONDAY: System.out.println("周一例会"); break; case FRIDAY: System.out.println("周五总结"); break; //...其他case default: System.out.println("普通工作日"); }
  1. 枚举实现单例模式枚举是实现单例模式的最佳方式之一,既简单又线程安全:
public enum Singleton { INSTANCE; public void doSomething() { // 单例方法 } }

使用时直接通过Singleton.INSTANCE调用方法即可。

练习建议1. 尝试扩展Weekday枚举,添加一个返回下一天的方法 2. 实现一个枚举表示四季,每个季节有对应的月份范围和平均温度 3. 用枚举实现一个简单的状态机

在InsCode(快马)平台上实践这些例子特别方便,不需要配置任何环境,打开网页就能直接编写和运行Java代码。我试过他们的在线编辑器,响应很快,还能实时看到运行结果,对新手特别友好。

枚举是Java中一个既简单又强大的特性,掌握好它能让代码更优雅。刚开始可能会觉得有点抽象,但多写几个例子就能体会到它的便利了。建议从简单的星期枚举开始,逐步添加功能,慢慢就能理解枚举的各种用法了。

快速体验

  1. 打开 InsCode(快马)平台 https://www.inscode.net
  2. 输入框内输入如下内容:
创建一个Java枚举学习示例,适合初学者理解。要求:1.最基本的枚举定义示例 2.枚举带属性和方法示例 3.枚举实现接口示例 4.枚举在switch语句中使用 5.枚举的单例模式实现。以星期枚举为例,包含Monday到Sunday,每个枚举值有中文名称和是否是工作日属性。提供详细注释和简单练习。
  1. 点击'项目生成'按钮,等待项目生成完整后预览效果
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/20 4:00:04

AI助力百度云解析直链网站开发:自动生成代码

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个百度云解析直链网站,能够解析百度云盘分享链接生成直链下载地址。要求:1. 前端使用Vue.js框架,包含简洁的输入框和解析按钮&#xff1b…

作者头像 李华
网站建设 2026/5/1 7:46:47

用Charles快速验证API接口设计方案

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个API接口原型验证工具,集成Charles的Map Local/Remote功能。用户输入API设计文档后,自动生成Mock响应数据并配置到Charles。支持快速切换不同响应场…

作者头像 李华
网站建设 2026/5/1 6:57:45

导师推荐!8款一键生成论文工具测评:本科生毕业论文全攻略

导师推荐!8款一键生成论文工具测评:本科生毕业论文全攻略 2026年学术写作工具测评:为何需要一份精准推荐? 随着人工智能技术的不断进步,越来越多的本科生开始借助AI工具提升论文写作效率。然而,面对市场上种…

作者头像 李华
网站建设 2026/4/23 20:13:16

StructBERT部署案例:企业内部舆情分析平台

StructBERT部署案例:企业内部舆情分析平台 1. 引言:中文情感分析的现实需求 在数字化转型加速的今天,企业对用户反馈、社交媒体评论、客服对话等非结构化文本数据的关注度日益提升。如何从海量中文文本中快速识别情绪倾向,成为企…

作者头像 李华
网站建设 2026/5/1 7:19:10

10分钟用setInterval打造实时数据看板原型

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个股票行情看板原型:1. 使用setInterval每3秒更新随机数据 2. 包含K线图和成交量展示 3. 支持暂停刷新 4. 响应式布局。使用Chart.jsReact,要求1小时…

作者头像 李华
网站建设 2026/5/1 6:49:57

中文情感分析轻量解决方案:StructBERT性能测试

中文情感分析轻量解决方案:StructBERT性能测试 1. 引言:中文情感分析的现实需求与挑战 在当今数字化时代,用户生成内容(UGC)呈爆炸式增长,社交媒体、电商评论、客服对话等场景中蕴含着海量的情感信息。如…

作者头像 李华