一文秒懂Java enum常见的用法讲解
更新时间:2020年12月22日 10:55:07 作者:浮生夢
这篇文章主要介绍了一文秒懂Java enum常见的用法讲解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
简介
枚举是Java1.5引入的新特性,通过关键字enum来定义枚举类。枚举类是一种特殊类,它和普通类一样可以使用构造器、定义成员变量和方法,也能实现一个或多个接口,但枚举类不能继承其他类.
一,常量定义
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<WeekDay> 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); }
到此这篇关于一文秒懂Java enum常见的用法讲解的文章就介绍到这了,更多相关Java enum用法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
java IO流 之 输出流 OutputString()的使用
这篇文章主要介绍了java IO流 之 输出流 OutputString()的使用的相关资料,需要的朋友可以参考下2016-12-12Netty分布式NioEventLoop优化selector源码解析
这篇文章主要介绍了Netty分布式NioEventLoop优化selector源码解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2022-03-03mybatis-plus如何配置自定义数据类型TypeHandle
这篇文章主要介绍了mybatis-plus如何配置自定义数据类型TypeHandle,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-01-01
最新评论