news 2026/4/25 7:29:43

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/19 12:27:20

民宿AI智能体运营:自动定价+房态管理,房东多赚20%

民宿AI智能体运营:自动定价房态管理,房东多赚20% 1. 为什么民宿房东需要AI智能体? 作为一名Airbnb房东,你是否经常被这些问题困扰:今天该定什么价格?旺季该涨价多少?空房期怎么处理&#xff1…

作者头像 李华
网站建设 2026/4/25 2:09:34

中文文本情绪识别系统优化:StructBERT推理加速技巧

中文文本情绪识别系统优化:StructBERT推理加速技巧 1. 背景与挑战:中文情感分析的工程落地难题 在自然语言处理(NLP)的实际应用中,中文情感分析是企业级服务中最常见的需求之一。无论是电商平台的用户评论挖掘、社交…

作者头像 李华
网站建设 2026/4/19 17:47:43

SQLMAP实战:5个真实场景下的参数组合技巧

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个SQLMAP实战案例展示应用,包含5个典型渗透测试场景:1)基础漏洞检测 2)WAF绕过 3)数据快速导出 4)时间盲注优化 5)大规模批量扫描。每个场景提供详细…

作者头像 李华
网站建设 2026/4/24 17:53:40

中文情感分析模型比较:StructBERT轻量版性能评测

中文情感分析模型比较:StructBERT轻量版性能评测 1. 中文情感分析的技术背景与挑战 随着社交媒体、电商平台和用户评论系统的普及,中文情感分析已成为自然语言处理(NLP)领域的重要应用方向。其核心任务是自动识别文本中蕴含的情…

作者头像 李华
网站建设 2026/4/22 9:20:43

StructBERT轻量级情感分析:WebUI调优评测

StructBERT轻量级情感分析:WebUI调优评测 1. 引言:中文情感分析的现实需求与挑战 在社交媒体、电商评论、客服对话等场景中,用户生成内容(UGC)呈爆炸式增长。如何从海量中文文本中自动识别情绪倾向,成为企…

作者头像 李华
网站建设 2026/4/23 14:27:30

StructBERT应用案例:客户满意度分析系统

StructBERT应用案例:客户满意度分析系统 1. 中文情感分析的现实需求与技术挑战 在当今数字化服务时代,企业每天都会产生海量的用户反馈数据——来自客服对话、社交媒体评论、产品评价、问卷调查等渠道。如何高效地从这些非结构化文本中提取有价值的情绪…

作者头像 李华