Java enum常见的用法

Java enum常见的用法一 常量定义 publicenumWe SUN MON TUE WED THT FRI SAT 二 swichpublice SUN MON TUE WED THT FRI SAT publicclassS WeekDayweekd WeekDay S

一,常量定义

public enum WeekDay { SUN, MON, TUE, WED, THT, FRI, SAT }

二,swich

public enum WeekDay { SUN, MON, TUE, WED, THT, FRI, SAT } public class SelectDay{ WeekDay weekday = WeekDay.SUN; public void select(){ switch(weekday){ case SUN: weekday = WeekDay.SUN; break; ... } } }

三,向枚举添加新方法

public enum Color { RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4); // 成员变量 private String name; private int index; // 构造方法 private Color(String name, int index) { this.name = name; this.index = index; } // 普通方法 public static String getName(int index) { for (Color c : Color.values()) { if (c.getIndex() == index) { return c.name; } } return null; } // get set 方法 public String getName() { return name; } public void setName(String name) { this.name = name; } public int getIndex() { return index; } public void setIndex(int index) { this.index = index; } } 

四,覆盖枚举方法

public enum Color { RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4); // 成员变量 private String name; private int index; // 构造方法 private Color(String name, int index) { this.name = name; this.index = index; } //覆盖方法 @Override public String toString() { return this.index+"_"+this.name; } }

五,实现接口

public interface Behaviour { void print(); String getInfo(); } public enum Color implements Behaviour{ RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4); // 成员变量 private String name; private int index; // 构造方法 private Color(String name, int index) { this.name = name; this.index = index; } //接口方法 @Override public String getInfo() { return this.name; } //接口方法 @Override public void print() { System.out.println(this.index+":"+this.name); } }

六,接口组织枚举

public interface Food { enum Coffee implements Food{ BLACK_COFFEE,DECAF_COFFEE,LATTE,CAPPUCCINO } enum Dessert implements Food{ FRUIT, CAKE, GELATO } }

七,枚举集合

public class Test { public static void main(String[] args) { EnumSet 
  
    week = EnumSet.noneOf(WeekDay.class); week.add(WeekDay.MON); System.out.println("EnumSet中的元素:" + week); week.remove(WeekDay.MON); System.out.println("EnumSet中的元素:" + week); week.addAll(EnumSet.complementOf(week)); System.out.println("EnumSet中的元素:" + week); week.removeAll(EnumSet.range(WeekDay.FRI, WeekDay.SAT)); System.out.println("EnumSet中的元素:" + week); } 
  

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/216844.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 上午10:56
下一篇 2026年3月18日 上午10:56


相关推荐

  • forEach 跳出本次循环 (break不能使用)

    forEach 跳出本次循环 (break不能使用)可以用 try catch 的方法跳出本次循环

    2026年3月19日
    2
  • piggycase_java状态机设计

    piggycase_java状态机设计一、实验目的练习使用动态规划算法解决实际问题(使用Java语言实现)二、实验内容【问题描述】给定一个空存钱罐的重量和这个存钱罐最多能装进去的重量,现在需要在不打破这个存钱罐的情况下猜测里面最少的钱。每种钱的数量不做限制,条件是必须装满,同时给出每种钱币的价值和重量。【输入】输入的第一行数据包含整数T,表示测试用例的数量。每个测试用例的第一行都包含两个整数e和f(1<=e<=f<=10000),分别表示空存钱罐和装满硬币的存钱罐的重量(以克记)。第二行包含一个整数n(1&

    2025年6月11日
    6
  • portal入网认证_portal账号是什么

    portal入网认证_portal账号是什么**一、什么是Portal认证**根据国家有关上网规定,上网前必须进行身份认证。考虑到移动终端的复杂性,在终端上安装认证客户端进行身份认证是不现实的。几乎所有智能终端都配备了Web浏览器。最好通过网页进行身份验证。Portal认证(也称为Web认证)可以以网页的形式为用户提供身份认证和个性化信息服务。Portal认证系统典型的组网方式包括四个基本要素:认证客户端、接入设备、Portal服…

    2022年4月20日
    125
  • 基于 flex+java 的登录应用

    基于 flex+java 的登录应用本例中采用 flex mysql java 实现登录采用 RemoteObject 实现 java 通信 和数据库进行通信 nbsp

    2026年3月26日
    2
  • n8n 自动化平台 Docker 部署教程(附 PostgreSQL 与更新指南)

    n8n 自动化平台 Docker 部署教程(附 PostgreSQL 与更新指南)

    2026年3月15日
    2
  • 线程的5种状态详解

    线程的5种状态详解Java 中的线程的生命周期大体可分为 5 种状态 1 新建 NEW 新创建了一个线程对象 2 可运行 RUNNABLE 线程对象创建后 其他线程 比如 main 线程 调用了该对象的 start 方法 该状态的线程位于可运行线程池中 等待被线程调度选中 获取 cpu 的使用权 3 运行 RUNNING 可运行状态 runnable 的线程获得了 cpu 时间片 timeslic

    2026年3月18日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号